我想使用循环将几个字符串的单元格数组导出到文本文件,其方式与下面链接中说明的非常类似:
http://www.mathworks.com/examples/matlab/1107-export-cell-array-to-text-file
唯一的区别是每个数组都有不同数量的列,我不知道如何告诉formatspec在循环的每次迭代中为每个数组创建该数量的列。
我需要一个告诉
的命令if myarray has 2 columns
formatSpec = '%s %s';
else if myarray has 3 columns
formatSpec = '%s %s %s\n';
else
...
我尝试将formatspec设置为10列,因为数组不包含更多列,但输出文件不是按行组织的。
先谢谢你的帮助,
答案 0 :(得分:0)
这样的事情:
%// Get number of columns
NumCol = size(myarray,2)
%// Define basic format spec to be repeated
baseString = ['%s'];
%// Generate actual formatSpec to be used
formatSpec = repmat(baseString,1,NumCol)
%// Add \n at the end
out = fprintf([formatSpec '\n'],myarray)
如果您愿意,可以对其进行修改并将其包含在if-else
或switch/case
块中,但这应该足够通用。