MATLAB求多项式的根和通过根构建多项式
MATLAB提供的函数roots( )可以求多项式的根。同时,函数poly( )又可以通过根反算出多项式。
操作方法
- 01
第一,通过MATLAB求下图多项式的根。
- 02
第二,启动MATLAB,新建脚本(Ctrl+N),输入以下脚本代码: close all; clear all; clc p1=[1,0,4,5,6]; p2=[1,3,2,0,-1]; root1=roots(p1) root2=roots(p2) 其中p1=[1,0,4,5,6];p2=[1,3,2,0,-1]对应第一步中的两个多项式,多项式的系数按降幂排列,缺少的幂项系数补0。roots( )是MATLAB中求多项式根的函数。
- 03
第三,保存和运行上述脚本,在命令行窗口(Command Window)得到两个多项式的根。 root1 = 0.7119 + 2.0646i 0.7119 - 2.0646i -0.7119 + 0.8667i -0.7119 - 0.8667i root2 = -2.1787 + 0.0000i -0.6671 + 0.6708i -0.6671 - 0.6708i 0.5129 + 0.0000i
- 04
第四,通过根反算出多项式,再新建一个脚本(Ctrl+N),输入如下代码: close all; clear all; clc root1=[0.7119 + 2.0646i;0.7119 - 2.0646i;... -0.7119 + 0.8667i;-0.7119 - 0.8667i]; root2=[-2.1787 + 0.0000i;-0.6671 + 0.6708i;... -0.6671 - 0.6708i;0.5129 + 0.0000i]; p1=poly(root1) p2=poly(root2) 其中root1=[...],root2=[...]是第三步中求得的根,我们通过根反算出各自对应的多项式,所要用的函数命令为poly( )。
- 05
第五,保存和运行上述脚本,在命令行窗口(Command Window)得到根所对应的两个多项式。 p1 = 1.0000 0 4.0001 4.9995 5.9997 p2 = 1.0000 3.0000 2.0001 -0.0000 -1.0001