请问如何循环保存二维数组
计算一个微分方程,里面的一个参数每次都取不同的值,所以每一次的计算结果都不同,是一个1000*8的矩阵。我希望每一次计算后都能够将计算结果保存到对应的矩阵,一维会操作,但是二维就不清楚了,请大家给予一下帮助。
比如: for i=1:100
...... %计算的过程
Y(i)=y; % y是每次计算得到的结果,Y是希望保存结果的数组,只是每次名称都不同而已
end
我想说的就是这个意思。上面的Y(i)想保存一个二维数组肯定不对,我知道可能表达不是很清楚,大家见谅。 Y(i,:)=y;?? 如果你每次算出一个值,就
Y=zeros(1000,8);
for i=1:1000
for j=1:8
............
Y(i,,j)=y;
end
end
如果是每次得到8个值,就
Y=zeros(1000,8);
for i=1:1000
Y(i,:)=y;
end
[ 本帖最后由 elitecn 于 2010-3-5 00:35 编辑 ] 我可能没表达清楚。我的意思是每一次都得到一个1000*8的矩阵,作为一个整体保存到另一个新的矩阵里。而用于保存数据的矩阵的名称每一次都要不同,比如Y1,Y2,Y3,...
希望能给解答一下,谢谢。 用三维矩阵不就成了,也就是在二维矩阵之上再加入若干“层”
Z=zeros(m,n,k); %建立全0三维矩阵,然后就用你的程序
for i=1:k
...... %计算的过程
Z(:,:,i)=y; % y是每次计算得到的结果,Y是希望保存结果的数组,只是每次名称都不同而已
end
回复 地板 chunshui2003 的帖子
help eval 谢谢上面各位的回答了,后来我发现我只要将每次计算的结果保存到xls文档中就可以了,需要的时候在调用即可。就是用到xlswrite和xlsread 两个命令。
页:
[1]