我想将一个for循环的计算输入到一个矩阵或输出到外部txt文件中存放: fori=1:5a=[1,2,3,4,5] m=a*i;end 等这个for循环完了,我怎么把在1-5次循环中的m放入另外一个矩阵或外部txt文件中保存起来呀, 就是要成以下效果 b=[ 1,2,3,4,5; 2,4,6,8,10; 3,6,9,12,15; 4,8,12,16,20; 5,...
1.利用save函数 for i=1:10 a=2*i;save data.txt a -append -ascii end 2.利用dlmwritre函数 for i=1:10 a(i)=2*i;dlmwrite('data.txt',a(i),'-append','delimiter',',')end 两个函数通用的追加数据的命令 -append
你这种情况有两种方法:法一:把每次迭代的结果先存到一个数组里,计算结束后打开文件一次性写入,这里需要默认的文件打开方式,即‘w’,这样就不会存在覆盖问题,而且效率较高。法二:先打开一个文件,将每次迭代的结果逐个添加到文件中,注意是“添加”,这要求文件打开模式是‘a’,这个效率较低,...
fid = fopen('data.txt', 'a'); % 新建(若不存在)或打开一个名为data.txt的文件 for ...fprintf(fid, '%5d ', d); % d为每次要写入的数据,‘%5d’控制数据写入的格式 end fclose(fid); % 操作完成后,关闭文件
你可以使用fprintf实现你想要的结果。[MATLAB CODE] 假设你要保存数据a<这里是2维矩阵>到文件<data.txt> a=rand(2,2);fid = fopen('data.txt','wt');[m,n]=size(a);for i=1:1:m for j=1:1:n if j==n fprintf(fid,'%5.2f\n',a(i,j));else fprintf(fid,'%5.2f\t',a...
法一:把每次迭代的结果先存到一个数组里,计算结束后打开文件一次性写入,这里需要默认的文件打开方式,即‘w’,这样就不会存在覆盖问题,而且效率较高。法二:先打开一个文件,将每次迭代的结果逐个添加到文件中,注意是“添加”,这要求文件打开模式是‘a’,这个效率较低,不如法一。 追问 现在输出问题解决了,可以...