永发信息网

matlab,怎样将每次循环中生成的值存在一个矩阵里?要简单的方法。。。。。。

答案:2  悬赏:0  手机版
解决时间 2021-11-25 14:04
  • 提问者网友:心牵心
  • 2021-11-25 03:52
matlab,怎样将每次循环中生成的值存在一个矩阵里?要简单的方法。。。。。。
最佳答案
  • 五星知识达人网友:不如潦草
  • 2021-11-25 05:06
你每次循环生成的值是什么形式——标量,向量,矩阵,或是不定?标量的情况最简单,如果是向量和矩阵,就要考虑你打算用什么样的形式存储了。

通常采用两种方法(以标量为例):

1、把新的结果存在下标为end+1的位置,数组会自动扩展,例如:
A=[]; for i=1:10, A(end+1)=i^2; end

2、预置数组(一般使用zeros),并设置一个计数器标记数组当前的存储位置,然后用该计数器作为下标进行存储。例如:
A=zeros(10000,1); idx=0; while idx<10000, idx=idx+1; A(idx)=idx^(1/idx); end

前一种做法用起来可能更省事一些,但如果循环次数多,数组反复自动扩展会造成效率很低,这种情况应该考虑使用第二种方法。
全部回答
  • 1楼网友:荒野風
  • 2021-11-25 06:13
一。
设 i 为循环次数,且只有一个循环,a 为要保存的矩阵,b 为每次循环生成的数据。
那么就在循环里写
a(i)=b;
二。
设 i 为外循环次数,j 为内循环次数,a 为要保存的矩阵,b 为每次内循环生成的数据。
那么就在循环里写
a(i,j)=b;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯