matlab课程多项式.ppt
文本预览下载声明
多项式(polynomial);1、多项式的表示:
式中ai (i=1,2,······n+1)是多项式的系数
在Matlab中,则用行矢量来描述:
p=[a1,a2,······an,an+1]
注意:缺少的幂次项系数为0
例:3x3+6x-5 [3,0,6,-5];2、多项式的求值
数值多项式求值:
y=polyval(p,x):计算多项式 p 在 x 点的值
注:当x为向量或矩阵时,采用数组运算或点运算,即对 向量或矩阵中的每个元素求其多项式的值。
矩阵多项式求值:
y=polyvalm(p,x):以方阵x为自变量来计算多项式的值,
采用矩阵运算。
;例:已知多项式f(x)=3x3+6x-5,(1)取x=2为自变量计算f(x)的值
(2)取x=[1,2;-1,-2],分别用函数polyval和polyvalm计算f(x)的值。
解:p=[3,0,6,-5];
x=2;
y1= polyval(p,x)
x= [1,2;-1,-2];
y2=polyval[p,x]
y3=polyvalm[p,x] ;3、多项式求根
x=roots(p):若p是n次多项式,则输出x为包含p=0的n 个根的n维向量。
例:已知f(x)=3x3+6x-5,求f(x)=0的根。
解:p=[3,0,6,-5];
x=roots(p)
备注:若已知多项式的全部根,则可以用poly函数建立起该多项 式,其调用格式为p=poly(x)
;4、多项式的一般运算
4.1多项式的四则运算
4.1.1 多项式的加法和减法
MATLAB中没有用于多项式加减法的函数,对多项式进行加减,就是对其系数向量进行加减。
注:如果多项式的阶数不同,那么在较低阶数多项 式的系数数组中添加0。
例:已知f(x)=9x3-5x2+3x+7,g(x)=6x2-x+2,求f(x)和g(x)的和。
解:p1=[9,-5,3,7];
p2=[0,6,-1,2];
p=p1+p2;图示; ; 4.2多项式求导数
k=polyder(p) :多项式 p 的导数;
k=polyder(p1,p2) :p1和p2数组乘积的导数;
[k,d]=polyder(p1,p2) :p1除以p2的导数,结果的分子返回给k,分母返回给d
例:已知多项式 f(x)=9x3-5x2+3x+7,g(x)=6x2-x+2,求f (x);
f (x)·g(x) ;f(x)/g(x)的导数。
解:p1=[9,-5,3,7]; p2=[6,-1,2];
k1=polyder(p1)
k2=polyder(p1,p2)
[k3,d]=polyder(p1,p2);5、绘制多项式的图形
polyval函数对于绘制多项式的图形非常有用,在使用中,用户首先应该定义一个包含有许多自变量x的数组,从而可以获得一条平滑的图形。
例:绘制多项式f(x)=9x3-5x2+3x+7在区间-2≤x≤5的图形。
解:p=[9,-5,3,7];
x=[-2:0.01:5];
y=polyval(p,x);
plot(x,y),xlabel(x),ylabel(f(x)),grid;感谢您的关注
显示全部