如何从matlab中计算多项式的函数句柄计算多项式的系数?
我有一个Matlab函数,它以非显式的方式在一个点上计算多项式(也就是说,我无法访问它的系数) 有没有一种方法可以计算它的系数(通过插值或其他方法),这样我就可以使用Matlab的根函数找到它的根 有一种使用符号变量的方法,但我想知道是否有不使用符号计算的解决方案:如何从matlab中计算多项式的函数句柄计算多项式的系数?,matlab,Matlab,我有一个Matlab函数,它以非显式的方式在一个点上计算多项式(也就是说,我无法访问它的系数) 有没有一种方法可以计算它的系数(通过插值或其他方法),这样我就可以使用Matlab的根函数找到它的根 有一种使用符号变量的方法,但我想知道是否有不使用符号计算的解决方案: syms y ; coefficients=sym2poly(feval(P,y)); 谢谢您可以使用来拟合多项式 假设多项式的阶数小于或等于d,则最多需要d+1个点来估计系数: P = @(t) 4*t.^2-2.*t
syms y ;
coefficients=sym2poly(feval(P,y));
谢谢您可以使用来拟合多项式
假设多项式的阶数小于或等于d
,则最多需要d
+1个点来估计系数:
P = @(t) 4*t.^2-2.*t+1; # an example of deg2 poly
d = 5; # we estimate P to of at most deg 5
x = 0:d;
y = P(x);
coeff = polyfit(x,y,d)
coeff =
-0.0000 0.0000 -0.0000 4.0000 -2.0000 1.0000
正如你所看到的,当我们高估度时,高阶系数是零。你知道多项式的度吗?@Shai我知道它最多20@YacineE.Faris如果你估计你的学位最多20个,你需要设置
d=20代码>而不是此演示代码中的5。
P = @(t) 4*t.^2-2.*t+1; # an example of deg2 poly
d = 5; # we estimate P to of at most deg 5
x = 0:d;
y = P(x);
coeff = polyfit(x,y,d)
coeff =
-0.0000 0.0000 -0.0000 4.0000 -2.0000 1.0000