我可以在Matlab中写出带有不同尺寸数据的txt或csv文档吗?

时间:2018-05-14 10:21:52

标签: matlab csv cell dimension

我正在使用Matlab R2013b。 我有一个100x100矩阵,包含数字和字符串。我将它转换为单元格数组(alldat)并将其写入csv文件(blah.csv)。 然后我尝试将一个数字附加到此csv文件的顶行... Matlab不会让我这样做。

cell2csv('blah.csv',alldat)

我可以追加单号' n'在矩阵的底部:

dlmwrite('blah.csv',n,'-append','delimiter',' ','roffset',1)

但它不允许我反过来这样做(因此我可以将数字放在csv文件的第一个单元格中,然后将矩阵放在它下面。 有人可以建议吗?

我还尝试使用dlmwrite输出单元格数组到txt文档:

dlmwrite('blah.txt',alldat,'delimiter',' ');

我一直收到这个错误:

  

使用dlmwrite时出错(第113行)输入单元格数组不能   转换为矩阵。

1 个答案:

答案 0 :(得分:0)

我经常使用表来完成这些任务。由于您有100 x 100阵列而不是具有不同尺寸的变量,因此应该可以进行调整。

VarA={'12A3';123;'12B3'};
VarB={'45A6';456;'45B6'};
T=table(VarA,VarB);
writetable(T,'test.csv','WriteVariableNames',false)
T1=readtable('test.csv','ReadVariableNames',false)

您可能希望使用cell2table直接从您的单元格数组创建一个表,虽然它对我不起作用,因为它在数字之间进行了一些奇怪的转换。