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

Luk*_* Xu 0 matlab

for i = 1:p
    X_poly(:, i) = X .^ i;
end
Run Code Online (Sandbox Code Playgroud)

迭代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
Run Code Online (Sandbox Code Playgroud)

迭代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
Run Code Online (Sandbox Code Playgroud)

出于某种原因......第二次迭代,它正在改变值,如果X_poly(:,1)......它不应该因为我改变X.^1X+1它并且它完全按照我的预期做...

And*_*uri 5

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

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

尝试执行format long g然后再次运行它,你会意识到数字是相同的.阅读更多