【问题标题】:Changing variable value after each loop interation and store them in array每次循环迭代后更改变量值并将它们存储在数组中
【发布时间】:2016-02-26 10:58:13
【问题描述】:

我正在尝试将值存储在数组 xx 中,并且对于每个新的循环迭代 (i),我希望将值除以 (j) 后存储在新列 (k) 中。

我的问题是 (j) 不会因每次新的循环迭代而改变,我得到整个数组的相同值。

有人知道怎么解决吗?

我希望第一列中的变量1/jj=0.01,第二列为j=0.02 等。

  for i= 1:1:61
      for k=1:1:8
          for j=0.01:0.01:0.08'
              xx(i,k) = nthroot(Q(i)/((1/j)*B*(S0^(1/2))),5/3);
          end  
      end    
  end

结果

xx =

0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841
0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841
0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841
0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841
0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841
0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841
0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841    0.7841
0.8302    0.8302    0.8302    0.8302    0.8302    0.8302    0.8302    0.8302
0.8747    0.8747    0.8747    0.8747    0.8747    0.8747    0.8747    0.8747
0.9177    0.9177    0.9177    0.9177    0.9177    0.9177    0.9177    0.9177
0.9594    0.9594    0.9594    0.9594    0.9594    0.9594    0.9594    0.9594
1.0000    1.0000    ... 

干杯!

【问题讨论】:

    标签: arrays matlab


    【解决方案1】:

    你错误地使用了循环,你不需要第三个循环。只需在开始时创建向量 j 并在计算中使用值 j(k)

    j=0.01:0.01:0.08;
    for i= 1:1:61
        for k=1:1:8
            xx(i,k) = nthroot(Q(i)/((1/j(k))*B*(S0^(1/2))),5/3);  
        end    
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-05
      • 2013-05-15
      • 1970-01-01
      • 2020-01-05
      • 1970-01-01
      • 2013-09-01
      • 2021-05-30
      • 1970-01-01
      相关资源
      最近更新 更多