第五节-matlab 绘图和数据可视化
02-多项式计算
% 第四节-matlab 绘图和数据可视化
% 02-多项式计算
%
% 多项式的表示
% 多项式的四则运算
% 多项式的求导
% 多项式的求值
% 多项式的求根
% (1)多项式的加减运算
% 多项式的加减运算非常简单,即相应向量相加减。
% (2)多项式乘法
% conv (P1,P2) :多项式相乘函数。
% (3)多项式除法
% [Q,r]=deconv(PI,P2):多项式相除函数。
% 其中,Q返回多项式P1除以P2的商式,r返回P1除以P2的余
% 式。这里,Q和r仍是多项式系数向量。
% deconv是conv的逆函数,因此有
% 例1设f(x)=3x^5-5x^4-7x^2+5x+6, g(x)=3x^2+5x-3,求
% f(x)+g(x),f(x)-g(x), f(x) . g(x),f(x)/g(x)。
f=[3,-5,0,-7,5,6] %分别表示的是 x^[5-0]次方的数,中间的 0表示的是0*x^3
g=[3,5,-3] %分别表示的是x^[2-0]
g1=[0,0,0,g] %前面的0 表示的是,g(x) 0*x^5 、0*x^4 、0*x^3
% 注:g1 是为了保证f(x) 和 g(x)之间的向量等长
f+g1 %f(x)+g(x)
f-g1 %f(x)-g(x)
conv(f,g) % 注:这里是g,【不是g1】 ,表示的是多项式相乘
[Q,r]=deconv(f,g) %多项式相除 Q是商式 ,r 是余式
conv(g,Q)+r
%多项式求导
% polyder 函数
% polyder():多项式求导函数。
% 调用格式:
% (1) p=polyder(P):求多项式P的导函数。
% (2) p=polyder(P,Q):求P*Q的导函数。
% (3) [p,q]=polyder(P,Q): 求P/Q的导函数,导函数的分子存入p,分母存入q。
% 例2已知两个多项式:
% a(x)=3x^3+x^2-6
% b(x)=x+2
% 计算两个多项式的乘积的导函数、商的导函数。
a=[3,1,0,-6]
b=[1,2]
polyder(a) %对a(x)求导
c=polyder(a,b) %计算 a(x) * b(x) 的乘积进行求导
[p,q]=polyder(a,b) % 计算两个多项式商的导函数, 注:p为分子式,q为分母式
% 求多项式的值
% polyval(p,x):代数多项式求值。(理解: 当 x=x0一个数时,求得f(x0)的值)
% polyvalmlp,x):矩阵多项式求值。
% 其中,p为多项式系数向量; x可以是标量、向量或矩阵。若x
% 为标量,则求多项式在该点的值;若x为向量或矩阵,则对向量或
% 矩阵中的每个元素求多项式的值。
% polyvalm|p,x)
% 其调用格式与polyval相同,但含义不同。polyvalm函数
% 要求【x为方阵】,以方阵为自变量求多项式的值。
% 9:00
% 例3以多项式x^4+8*x^3 -10为例,取一个2 x 2矩阵为自变量,分别用
% polyval和polyvalm计算该多项式的值。
a1=[1,8,0,0,-10] % x^4+8*x^3 -10
x1=[-1,1.2;2,-1.8] %
y1=polyval(a1,x1) % 向量求多项式,求得的是多项式的值
y2=polyvalm(a1,x1) %
% 多项式求根
% roots(p) 多项式求根函数
% 其中,p为多项式的系数向量。
% 例如,求多项式x4+8x3-10的根
a2=[1,8,0,0,-10]
x2=roots(a) %包括x的复数根
% 若已知多项式的全部根,则可以用poly函数建立起该多项式,
% 其调用格式为:
% p=poly(x)
x2
p=poly(x2)