存储在矩阵中 - n个度数(n-1)的多项式,每个x一行

时间:2017-02-07 13:20:57

标签: matlab loops matrix polynomials

我试图编写一个matlab程序,用户输入n个点,然后以图形方式选择n个坐标对(使用ginput)。然后,我想通过所选择的点创建度数(n-1)的插值多项​​式,并求解该插值多项式的系数。

所以我想我想将所有点存储在这样的矩阵中:

1 x1 x1^2 x1^3 ... x1^(n-1)
.
.
1 xn xn^2 xn^3 ... xn^(n-1)

..然后使用反斜杠运算符求解系数。到目前为止我的代码是这样的:

n = input('How many points?');

[x,y] = ginput(n);

A = zeros(n);

for i = 1:n
    A(1,i) = [x(1)^(i-1)];
end

我的问题是我无法创建一个成功的循环,根据我想要以多项式形式存储点的模式给我新的行(如上图所示)。我如何编写以存储每行的n行数,每行使用一行x并为每行增加(n-1)度?

1 个答案:

答案 0 :(得分:1)

你几乎就在那里,你可以创建一个矩阵的单行,你只是缺少迭代次数:

for j=1:length(x)
  for i = 1:n
      A(j,i) = [x(j)^(i-1)];
  end
end