将带有数字的单元格保存到文本文件中



我有不同长度和编号的单元格数组A和B。

A={1:0.5:5;1:0.5:2};
B={1:0.5:6;1:0.5:9};
C= [A;B];

我想把这些细胞阵列组合成一个细胞阵列C,然后看起来像这样:

C =
4×1 cell array
{1×9  double}
{1×3  double}
{1×11 double}
{1×17 double}

然后,我想把它保存到一个文本文件中,应该是这样的:

1.0000    1.5000    2.0000    2.5000    3.0000    3.5000    4.0000    4.5000    5.0000
1.0000    1.5000    2.0000
1.0000    1.5000    2.0000    2.5000    3.0000    3.5000    4.0000    4.5000    5.0000    5.5000    6.0000
1.0000    1.5000    2.0000    2.5000    3.0000    3.5000    4.0000    4.5000    5.0000    5.5000    6.0000   6.5000    7.0000    7.5000    8.0000    8.5000    9.0000

到目前为止,我只找到了文本或相同大小数组的代码。这是我的尝试,但不起作用:

fid = open('filename.txt', 'wt');
fprintf(fid, '%f',C{:})
close(fid)

我认为问题可能出在您为fprintf指定的格式上,因为我认为只使用'%f'会在每行打印一个数字。

这样做的一种方法是:

fid = fopen('filename.txt', 'wt');
for i = 1:length(C)
fmt = repmat('%f ',size(C{i})); % this only adds one whitespace in between numbers
fmt = [fmt,'n']; % remember to add a new line
fprintf(fid,fmt,C{i});
end
fclose(fid);

相关内容

  • 没有找到相关文章

最新更新