资源描述:
《matlab多项式运算和方程组的求解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、二、多项式(1)多项式的表达式和创建MATLAB中使用一维向量来表示多项式,将多项式的系数按照降幂次序存放在向量中。例如:多项式2X4+3X3+5X2+1可以用向量[23501]来表示。例2-1,输入多项式3x4-10x3+15x+1000在命令窗口输入:p=[3-100151000]输出结果如下:(2)多项式求根1、多项式的根找出多项式的根,即使多项式为零的值,MATLAB提供了特定的函数roots求解多项式的根。例2-2,求解多项式3x4-10x3+15x+1000的根。在命令窗口输入:输出的结果如下:2、由根创建多项式在M
2、ATLAB中,无论是一个多项式,还是它的根,都是以向量形式存储的,按照惯例,多项式是行向量,根是列向量。因此当我们给出一个多项式时,MATLAB也可以构造出相应的多项式,这个过程需要使用函数poly。例2-3输入及结果(3)多项式四则运算1,多项式的加法MATLAB并未提供一个特别的函数,如果两个多项式向量大小相同,那么多项式相加时就和标准的数组加法相同。例2-4在命令窗口输入:a=[13579];b=[12468];c=a+b输出结果:C(x)=2x4+5x3+9x2+13x+172、多项式的乘法运算在MATLAB中,函数co
3、nv支持多项式乘法(运算法则为执行两个数组的卷积)。例2-5在命令窗口输入:a=[13579];b=[12468];c=conv(a,b)输出的结果如下:C(x)=x8+5x7+15x6+35x5+69x4+100x3+118x2+110x+72PS:conv指令只能进行两个多项式的乘法,两个以上的多项式的乘法需要重复使用conv。3、多项式的除法运算在MATLAB中,由函数deconv完成的。例2-6在命令窗口输入:c=[1515356910011811072];b=[12468];[a,r]=deconv(c,b)输出的结果
4、:(4)多项式微分1、多项式的导数MATLAB为多项式求导提供了函数polyder。例2-7C(x)=x8+5x7+15x6+35x5+69x4+100x3+118x2+110x+72在命令窗口输入:输出结果为:2、多项式的积分MATLAB为多项式的积分提供了函数polyint。具体的句法格式如下。①polyint(p,k):返回多项式P的积分,积分常数项为K。②polyint(p):返回多项式P的积分,积分常数项为默认值0。例2-8C(x)=x8+5x7+15x6+35x5+69x4+100x3+118x2+110x+72在命
5、令窗口输入:输出的结果为:(5)多项式求值1、代数多项式求值y=polyval(p,x):计算多项式p在x点的值PS:若x是向量或矩阵,则采用数组运算(点运算)!例2-9已知P(x)=2x3-x2+3,分别取x=2和一个2x2矩阵,求p(x)在x处的值。当X=2时:在命令窗口输入:p=[2,-1,0,3];x=2;polyval(p,x)输出结果:当X是矩阵时:在命令窗口输入:x=[-1,2;-2,1];polyval(p,x)输出结果:2、矩阵多项式求值Y=polyvalm(p,X):以方阵X为自变量,计算多项式的值,采用矩阵
6、运算。例2-10P(x)=2x3-x2+3在命令窗口输入:结果为:三、方程组的求解1、线性方程组的求解linsolve(A,b):解线性方程组在窗口输入命令:输出的结果为:2、非线性方程组的求解solve(f1,f2,...,fN,v1,v2,...,vN)求解由f1,f2,...,fN确定的方程组关于v1,v2,...,vN的解。在窗口输入命令:[x,y,z]=solve('x+2*y-z=27','x+z=3','x^2+3*y^2=28','x','y','z')输出的结果: