Matlab错误:未为';定义函数;单元格';投入

Matlab错误:未为';定义函数;单元格';投入,matlab,printf,cell-array,Matlab,Printf,Cell Array,为什么会出现这样的错误: 使用fprintf时出错 未为“单元”输入定义函数 虽然这确实有效: fid = fopen('./tickers.tex', 'wt+'); for x = 1 : size(C.names,1) fprintf(fid, '%s & ', C.names(x,1:end-1)); fprintf(fid, '%s \\\\ \t\n', C.names(x,end)); end fclose(fid); 我很难理解基本的matlab

为什么会出现这样的错误:

使用fprintf时出错 未为“单元”输入定义函数

虽然这确实有效:

fid = fopen('./tickers.tex', 'wt+');
for x = 1 : size(C.names,1) 
    fprintf(fid, '%s & ', C.names(x,1:end-1)); 
    fprintf(fid, '%s \\\\ \t\n', C.names(x,end)); 
end 
fclose(fid);

我很难理解基本的matlab数据类型。有谁能给我一个像最后一个语法一样打印单元格数组的解决方案吗?

好的,从您的错误和代码来看,我假设C是一个单元格数组,您想从C的每个条目打印一些字符串。假设这样,您的代码是不正确的。 试试这个:

fprintf(' %f    ', D{:});

这是你想要的吗?如果没有,请提供有关C的更多信息。C.names(ind)给出的元素本身就是一个“单元格”;试试
C.names{x,1:end-1}
Reference谢谢!简单的问题,简单的答案;)Yvon请提供您的解决方案作为答案,以便我们投票表决!
fid = fopen('./tickers.tex', 'wt+');
for x = 1 : size(C,1) 
    fprintf(fid, '%s & ', C{x}.names(1:end-1)); 
    fprintf(fid, '%s \\\\ \t\n', C{x}.names(end)); 
end 
fclose(fid);