Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何通过点放置多项式_Matlab - Fatal编程技术网

Matlab 如何通过点放置多项式

Matlab 如何通过点放置多项式,matlab,Matlab,我想找到通过这个点的二次曲线(0,0)(π,2.1)(π,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 我试着用其他的数字来代替圆周率,结果它成功了。

我想找到通过这个点的二次曲线(0,0)(π,2.1)(π,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

我试着用其他的数字来代替圆周率,结果它成功了。因此,如果你能帮助我,请找个人。

这种方法只适用于在指定的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

嗯,你的矩阵是奇异的(它有秩1),所以它没有逆。你知道我能做些什么,让它工作吗?我只想找到二次方程。这意味着什么?不可能存在这样的二次方程:
a*pi^2+b*pi+c==2.1
,同时
a*pi^2+b*pi+c==0
,因为这意味着
2.1==0
。这正是你要计算的。嗯,这就是重点,我的老师把它作为家庭作业交给我,我试着去做。你明白为什么不可能吗?我猜她想让你明白你的意思。(你可以通过这三个点得到二次曲线,即使是无限多个点,但它们在x中不是二次曲线,而是旋转的抛物线。)哈哈,无论如何,我犯了一个错误:D。。x=[0π/2π]和y=[0 1 0]