在每次循环交互后更改变量值并将它们存储在数组中

时间:2016-02-26 10:58:14

标签: arrays matlab

我正在尝试将值存储在数组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    ... 

干杯!

1 个答案:

答案 0 :(得分: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