为什么这个forloop更新以前的所有值?

时间:2016-03-13 18:09:16

标签: matlab

for i = 1:p
    X_poly(:, i) = X .^ i;
end

迭代1:

  -15.9368         0         0         0         0         0         0         0
  -29.1530         0         0         0         0         0         0         0
   36.1895         0         0         0         0         0         0         0
   37.4922         0         0         0         0         0         0         0
  -48.0588         0         0         0         0         0         0         0
   -8.9415         0         0         0         0         0         0         0
   15.3078         0         0         0         0         0         0         0
  -34.7063         0         0         0         0         0         0         0
    1.3892         0         0         0         0         0         0         0
  -44.3838         0         0         0         0         0         0         0
    7.0135         0         0         0         0         0         0         0
   22.7627         0         0         0         0         0         0         0

迭代2:

   -0.0159    0.2540         0         0         0         0         0         0
   -0.0292    0.8499         0         0         0         0         0         0
    0.0362    1.3097         0         0         0         0         0         0
    0.0375    1.4057         0         0         0         0         0         0
   -0.0481    2.3097         0         0         0         0         0         0
   -0.0089    0.0799         0         0         0         0         0         0
    0.0153    0.2343         0         0         0         0         0         0
   -0.0347    1.2045         0         0         0         0         0         0
    0.0014    0.0019         0         0         0         0         0         0
   -0.0444    1.9699         0         0         0         0         0         0
    0.0070    0.0492         0         0         0         0         0         0
    0.0228    0.5181         0         0         0         0         0         0

出于某种原因......第二次迭代,它正在改变值,如果X_poly(:,1)......它不应该因为我将X.^1更改为X+1并且它确切地完成了我期望它做什么...

1 个答案:

答案 0 :(得分:5)

很可能你只是忘了向我们展示整个输出。可能在第二个开头有一个1.0e+03 *

您只是处理显示差异,但数字是相同的。

尝试执行format long g,然后再次运行,你会发现数字是相同的。 Read more