loop1 start
loop2 start
loop3 start
X
结束loop3
结束循环2
结束循环1
我可以存储X的值,以便在执行所有循环后可以看到所有值吗?刚提到X就是文本字符串。
更新:它正在工作,。我得到的输出如下:
{790x1 cell}
[]
[]
[]
[]
[]
[]
[]
[]
[]
我想,我的所有字符串都保存在{790x1单元格}中。有什么方法可以看到它们吗?代码:
X_record=cell(10000,1);
c=1;
for k=1:200
for i=1:300
for it=1:200
X='NY is crowded';
X_record{c}=X;
c=c+1;
end
end
end
修改:2
clear all
clc
X_record=cell(10,1);
c=1;
for k=1:2
for i=1:3
for it=1:2
X='NY is crowded';
f_id=fopen('c.txt','a+');
fprintf(f_id,'%5s\n',X) ;%#ok<CTPCT,CTPCT>
fclose(f_id)
X_record{c}=X;
c=c+1;
end
end
end
输出:
纽约很拥挤 纽约拥挤纽约拥挤纽约拥挤纽约拥挤纽约拥挤.....为什么我没有获得任何新行?
答案 0 :(得分:4)
使用cell array:
X_record = cell(M*N*P,1);
c = 1;
for i = 1:M
for j = 1:N
for k = 1:N
X = whatever;
X_record{c} = X;
c = c + 1;
end
end
end
答案 1 :(得分:1)
要回答您关于为什么您没有在新行上看到每个NY is crowded
的第二个问题,我猜您可能正在使用Microsoft记事本查看您的文件c.txt
。以下是函数"Examples"文档的FPRINTF部分的摘录:
MATLAB导入函数,全部是UNIX 应用程序,以及Microsoft Word和 写字板将
'\n'
识别为换行符 指示符。但是,如果你打算 用Microsoft Notepad读取文件, 使用'\r\n'
时移动到新行 写入。
所以,你应该尝试打印输出:
fprintf(f_id,'%5s\r\n',X);
答案 2 :(得分:0)
我不确切知道为什么
X='NY is crowded';
fprintf(f_id,'%5s\n',X)
..不起作用,但我建议你试试
X='NY is crowded\n';
fprintf(f_id,'%5s',X)
...代替