2012-03-22 47 views
0

我很难将单元格数组写入文本文件。如果有人能够帮助我,这将是高度赞赏;将单元格数组写入文本文件

比方说我的电池阵列是C =

[1x5 double] [0.1962] [1x3 double] [2x3 double] 
>> C{:} 

ans = 
    0.9864 0.8223 0.1952 0.0121 0.0012 

ans = 
    0.1962 

an s = 
    0.9864 0.2448 0.0014 

ans = 
    0.9864 0.2448 0.0014 
    0.9863 0.2448 0.0014 

我想正如我们上面看到一个没有“答”到打印此上的文本文件中的格式相同;我使用fprintf,并将所有输出结果放在一行中。

[nrows ncols]=size(C); 
fid = fopen(saveDataName, 'w'); 
for row=1:nrows 
fprintf(fid, '%12.4f', C{row,:}); 
fclose(fid); 

任何人都可以帮助我吗?

回答

0

printf家族不会隐式添加换行符,因此您需要用“\ n”结束格式字符串。如果你想在每一个数据点都有一个换行符,就像在你的例子中那样,只需在循环中注入fprintf(fid,“\ n”)就可以了。

+0

嗨,SilverbackNet.Thanks你的帮助。我之前已经尝试过,但是之后我将所有输出都放在一个列中。我想我的输出,就像我们在例子中看到的那样。第一行有5列,第二行有1列,依此类推。请注意,我的小区每次都会改变其大小和内容。所以我需要一个通用的代码,当我们键入C {:}但没有'ans'这个词时,需要用一个格式将一个单元格写入文本文件,格式与MATLAB在命令窗口中输出的格式相同。我希望你能理解我的问题。 – skk 2012-03-22 09:50:12