Matlab--多项式创建、计算、积分和微分

时间:2022-12-02 19:02:00

✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。


????个人主页:算法工程师的学习日志

Matlab--多项式创建、计算、积分和微分

分享一下在 MATLAB中的多项式相关运算。

表示多项式

MATLAB将多项式表示为行向量,其中包含按降幂排序的系数。例如,三元素向量

p = [p2 p1 p0];

表示多项式

p(x)=p2x2+p1x+p0.

创建一个向量以表示二次多项式 p(x)=x2−4x+4。

p = [1 -4 4];

此外,还必须将系数为 ​​0​​ 的多项式中间项输入到该向量中,因为 ​​0​​ 用作 ​​x​​ 的特定幂的占位符。

创建一个向量来表示多项式 p(x)=4x5−3x2+2x+33。

p = [4 0 0 -3 2 33];

多项式的计算

将多项式作为向量输入到 MATLAB® 后,请使用 ​​polyval​​ 函数根据特定值计算多项式。

使用 ​​polyval​​ 计算 p(2)。

polyval(p,2)
ans = 153


对多项式求积分和微分


通过​​polyint​​ 和 ​​polyder​​ 函数对由系数向量表示的任何多项式求解析积分或微分。

使用 ​​polyder​​ 获取多项式 p(x)=x3−2x−5 的导数。生成的多项式为 q(x)=ddxp(x)=3x2−2。

p = [1 0 -2 -5];
q = polyder(p)
q = 1×3


3 0 -2

同样,使用 ​​polyint​​ 对多项式 p(x)=4x3−3x2+1 求积分。生成的多项式为 q(x)=p(x)dx=x4x3+x

p = [4 -3 0 1];
q = polyint(p)
q = 1×5


1 -1 0 1 0

​polyder​​ 也可以计算两个多项式积或商的导数。例如,创建两个向量来表示多项式 a(x)=x2+3x+5 和 b(x)=2x2+4x+6。

a = [1 3 5];
b = [2 4 6];

通过调用带有单个输出参数的 ​​polyder​​ 来计算导数 ddx[a(x)b(x)]。

c = polyder(a,b)
c = 1×4


8 30 56 38

通过调用带有两个输出参数的 ​​polyder​​ 来计算导数 ddx[a(x)b(x)]。生成的多项式为


ddx[a(x)b(x)]=−2x2−8x−24x4+16x3+40x2+48x+36=q(x)d(x).


[q,d] = polyder(a,b)
q = 1×3


-2 -8 -2


d = 1×5


4 16 40 48 36