数学软件Matlab 多项式运算 代数方程求解 1
1 数学软件 Matlab —— 多项式运算 —— 代数方程求解
内容提要 ■多项式运算 ●多项式转化为符号表达式:poly2sym ●四则运算:conv、deconv ●导数与积分:ployder、polyint ●求值与零点:polyval、polyvalm、roots、poly ■代数方程求解 ●线性方程组数值求解:1 insolve ●非线性方程数值求解:fzero ●非线性方程符号求解:solve 2
2 多项式转化为符号表达式:poly2sym 四则运算:conv、deconv 导数与积分:ployder、polyint 求值与零点:polyval、polyvalm、roots、poly 多项式运算 内容提要 代数方程求解 线性方程组数值求解:linsolve 非线性方程数值求解:fzero 非线性方程符号求解:solve
多项式表示方法 ●Matlab中多项式的表示方法 ●在Matlab中,n次多项式用一个长度为n+1的向量来表示 p(x)=an”+an-1x"-+…+4,X+40 在Matlab中表示为向量:0n,n-1,·,41,] 例:2x3-x2+3←→[2,-1,0,3] 注:系数中的零不能省! ●多项式与符号表达式的互化:po1y2sym,sym2poly 例:po1y2sym([2,-1,0,3]) 3
3 多项式表示方法 在 Matlab 中,n 次多项式用一个长度为 n+1的向量来表示 1 1 10 ( ) n n n n p x ax a x ax a − = + ++ + − 在 Matlab中表示为向量: 1 10 [ , , , , ] n n aa aa − 注:系数中的零不能省! 例: 2x3 - x2 + 3 [2, -1, 0, 3] Matlab 中多项式的表示方法 多项式与符号表达式的互化:poly2sym, sym2poly 例: poly2sym([2,-1,0,3])
多项式加减 ● 多项式加减运算 Matlab没有提供专门进行多项式加减运算的函数 多项式的加减就是其所对应的系数向量的加减运算 ●次数相同的多项式,可直接对其系数向量进行加减运算 ●如果两个多项式次数不同,则应该把低次多项式中系数 不足的高次项用0补足,然后再进行加减运算 例: 卫1=2x3-x2 +3 [2,-1,0,3] P2= 2x+1 [0,0,2,1 p1+p2=2x3-x2+2x+4← [2,-1,2,4] 4
4 多项式加减 Matlab 没有提供专门进行多项式加减运算的函数 多项式的加减就是其所对应的系数向量的加减运算 次数相同的多项式,可直接对其系数向量进行加减运算 如果两个多项式次数不同,则应该把低次多项式中系数 不足的高次项用 0 补足,然后再进行加减运算 例: p1 = 2x3 - x2 + 3 p2 = 2x + 1 p1 + p2 = 2x3 - x2 + 2x + 4 [2, -1, 0, 3] [2, 1] [0, 0, 2, 1] [2, -1, 2, 4] 多项式加减运算
多项式乘除 ●多项式乘法运算: k=conv(p,q) 例:计算多项式2x3-x2+3和2x+1的乘积 p=[2,-1,0,3] q=[2,1]; k=conv(p,q) ●多项式除法运算: [k,r]=deconv(p,q) ●其中k返回的是多项式p除以q的商,下是余式 [k,r]=deconv(p,q) p=conv(q,k)+r
5 多项式乘除 k=conv(p,q) 例:计算多项式 2x3 - x2 + 3 和 2x + 1 的乘积 p=[2,-1,0,3]; q=[2,1]; k=conv(p,q) 多项式除法运算: [k,r]=deconv(p,q) 其中 k 返回的是多项式 p 除以 q 的商,r 是余式 [k,r]=deconv(p,q) p=conv(q,k)+r 多项式乘法运算: