我试图在每次循环时将for循环中的数组存储到文件中。此外,我想稍后在另一个循环中使用这些文件。我试过使用保存和加载。但是,它不起作用。这是我尝试过的:
for i=1:5
c=a(a(:,2)==i,:)
filename=sprintf('File_%d.mat',i);
save('-mat',filename,'i');
clear c;
endfor
创建了每个循环的文件,但无法读取这些文件。 然后我尝试将这些文件逐个加载到另一个文件循环中,如下所示
for i=1:5
filename=sprintf('File_%d.mat',i);
load ('-mat',filename, 'i');
end for
我无法在循环中加载文件。有没有人有任何建议?
答案 0 :(得分:0)
什么不起作用?你只需写#34; ..但无法读取这些文件"和"我无法加载"。所以请创建一个完整的例子和/或描述你的问题。
我猜这可能是你的问题:
在第一个循环中,你在文件File_1.mat中写入值为1,然后在File_2.mat中使用值2编写i,依此类推但我认为你真正想要写入文件的是从i计算的东西,例如
for i=1:5
c=a(a(:,2)==i,:)
filename=sprintf('File_%d.mat',i);
save('-mat',filename,'c');
clear c;
endfor
然后
for i=1:5
filename=sprintf('File_%d.mat',i);
load ('-mat',filename, 'c');
c
endfor
顺便说一句,你的方法看起来很脏。您可以将多个变量,单元格和数组存储到一个文件中......