我试图编写一个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)度?
答案 0 :(得分:1)
你几乎就在那里,你可以创建一个矩阵的单行,你只是缺少迭代次数:
for j=1:length(x)
for i = 1:n
A(j,i) = [x(j)^(i-1)];
end
end