如何通过点放多项式

时间:2014-01-11 10:46:13

标签: matlab

我想找到通过这些点(0,0)(pi,2.1)(pi,0)的二次方;

这是我的代码

x = [0 pi pi]';
V = fliplr(vander(x));  % or V = [x.^2 x x.^0] 
y = [0 2.1 0]';
c = V \ y

错误来自第4行。

Warning: Matrix is singular to working precision.

结果是:

c =
     NaN
     Inf
    -Inf

我试图用其他数字替换pi,它有效。所以请有人请你帮助我。

1 个答案:

答案 0 :(得分:0)

该方法仅用于查找在指定的x值处具有指定y值的多项式。并且每个x值只能有一个y值。

如果你想找到一条通过这些点的二维曲线,你需要引入一个参数,比如t,找到x和y坐标的单独公式,如下所示:

t = 0:2;
x = [0 pi pi]';
y = [0 2.1 0]';
V = fliplr(vander(t'));
cx = V \ x
cy = V \ y