声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2582|回复: 6

[编程技巧] 请问如何循环保存二维数组

[复制链接]
发表于 2010-3-4 20:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
计算一个微分方程,里面的一个参数每次都取不同的值,所以每一次的计算结果都不同,是一个1000*8的矩阵。
我希望每一次计算后都能够将计算结果保存到对应的矩阵,一维会操作,但是二维就不清楚了,请大家给予一下帮助。
比如: for i=1:100
             ......           %计算的过程
             Y(i)=y;      % y是每次计算得到的结果,Y是希望保存结果的数组,只是每次名称都不同而已
            end
我想说的就是这个意思。上面的Y(i)想保存一个二维数组肯定不对,我知道可能表达不是很清楚,大家见谅。
回复
分享到:

使用道具 举报

发表于 2010-3-4 23:30 | 显示全部楼层
Y(i,:)=y;  ??
发表于 2010-3-5 00:30 | 显示全部楼层
如果你每次算出一个值,就
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 编辑 ]
 楼主| 发表于 2010-3-5 09:23 | 显示全部楼层
我可能没表达清楚。我的意思是每一次都得到一个1000*8的矩阵,作为一个整体保存到另一个新的矩阵里。而用于保存数据的矩阵的名称每一次都要不同,比如Y1,Y2,Y3,...
希望能给解答一下,谢谢。
发表于 2010-3-5 12:20 | 显示全部楼层
用三维矩阵不就成了,也就是在二维矩阵之上再加入若干“层”
Z=zeros(m,n,k);   %建立全0三维矩阵,然后就用你的程序
for i=1:k
             ......           %计算的过程
             Z(:,:,i)=y;      % y是每次计算得到的结果,Y是希望保存结果的数组,只是每次名称都不同而已
            end
发表于 2010-3-5 13:17 | 显示全部楼层

回复 地板 chunshui2003 的帖子

help eval
 楼主| 发表于 2010-3-8 10:49 | 显示全部楼层
谢谢上面各位的回答了,后来我发现我只要将每次计算的结果保存到xls文档中就可以了,需要的时候在调用即可。
就是用到xlswrite和xlsread 两个命令。

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 19:07 , Processed in 0.054310 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表