Matlab第7次课 1、多项式四则运算 2、多项式求导、求根和求值 3、求线性时不变系统的频率响应
Matlab第7次课 • 1、多项式四则运算 • 2、多项式求导、求根和求值 • 3、求线性时不变系统的频率响应
1、多项式相乘 例、设有两个多项式a(x)=2x3+4x2+6X+8及 b(x)=3x2+6x+9,要求作如下运算: (1)多项式相乘 多项式相乘其实只要得到多项式相乘后的 多项式的系数即可,所以令 °a=[2,4,6,8]b=3,6,9]; 由于多项式相乘和离散信号的卷积的规贝 完全相同,所以有 c=conv(a, b) f(k)=∑f(1)2(k-1)
• 1、多项式相乘 • 例、设有两个多项式a(x)=2x3+4x2+6x+8及 b(x)=3x2+6x+9,要求作如下运算: • (1)多项式相乘 • 多项式相乘其实只要得到多项式相乘后的 多项式的系数即可,所以令 • a=[2,4,6,8];b=[3,6,9]; • 由于多项式相乘和离散信号的卷积的规则 完全相同,所以有 • c=conv(a,b)
CIc clear close a a=[2,4,68]; b=[3,6,9 °C=conv(a,b)
• clc • clear,close all • a=[2,4,6,8]; • b=[3,6,9]; • c=conv(a,b)
2、多项式加、减 Matlab规定,只有长度相同的向量才能 相加。因此,在作加减运算时,首先要 将短的向量前面补以若干个零元素,才 能用 Matlab的矩阵加减法运算 方法1,手工加零 如,da+[0,b] 得d=271217
• 2、多项式加、减 • Matlab规定,只有长度相同的向量才能 相加。因此,在作加减运算时,首先要 将短的向量前面补以若干个零元素,才 能用Matlab的矩阵加减法运算。 • 方法1,手工加零 • 如,d=a+[0,b] • 得 d=2 7 12 17
方法2,利用m程序自动加零 function y-polyadd(x1, x2) nI=length(x1) n2=length(x2) if nI>n2 x2=zeros(1, n1-n2), x2 elseif nl<n2 xI=zeros(l, n2-n1), x2 end, y=x1+2
• 方法2,利用m程序自动加零 • function y=polyadd(x1,x2) • n1=length(x1); • n2=length(x2); • if n1>n2 x2=[zeros(1,n1-n2),x2]; • elseif n1<n2 x1=[zeros(1,n2-n1),x2]; • end, y=x1+x2
CIc clear al a=[2,46,8; °b=[36,9] c=conv(a, b) cd=polyadd(a, b) cd2=polyadd(a, -b)
• clc • clear all • a=[2,4,6,8]; • b=[3,6,9]; • c=conv(a,b) • cd=polyadd(a,b) • cd2=polyadd(a,-b)
3、多项式相除 两个多项式相除,可能存在余式。 格式:[q,r}= decoy(c,a) 练习1 clear close a a=[2,4,6,8] b=[3,6,9; c=conv(a,b) la, r=decon( c, a) 得到 369 000000
• 3、多项式相除 • 两个多项式相除,可能存在余式。 • 格式:[q,r]=deconv(c,a) • 练习1: • clc • clear,close all • a=[2,4,6,8]; • b=[3,6,9]; • c=conv(a,b) • [q,r]=deconv(c,a) • 得到:q = 3 6 9 • r = 0 0 0 0 0 0
练习2: 令a=3689 cIc clearcase a 1=[2,4,6,8 b=3,6,9; c=conv(a, b) al=3689 lg, r=decon(c a1) 得到 q=2.00004.000066667 r=0 0 06.000012.666712.0000
• 练习2: • 令 a1=3 6 8 9 • clc • clear,close all • a=[2,4,6,8]; • b=[3,6,9]; • c=conv(a,b) • a1=[3 6 8 9] • [q,r]=deconv(c,a1) • 得到 • q = 2.0000 4.0000 6.6667 • r = 0 0 0 6.0000 12.6667 12.0000
练习3验证结果 用商式乘以除式再加上余式的方法进行验证 CIc ● clear. close a a=[2,46,8] [3,6,9 c=conv(a, b) al=[3689 [a, r]=decon(c, al) cl=conv(g, al)+r c=624609610272 al=368 ·cl=624609610272
• 练习3 验证结果 • 用商式乘以除式再加上余式的方法进行验证。 • clc • clear,close all • a=[2,4,6,8]; • b=[3,6,9]; • c=conv(a,b) • a1=[3 6 8 9] • [q,r]=deconv(c,a1) • c1=conv(q,a1)+r • c = 6 24 60 96 102 72 • a1 = 3 6 8 • c1 = 6 24 60 96 102 72
2、多项式求导、求根和求值 1)求根 ·设多项式a(x)-x2+3x+2;b(x)=x2+2x+4;求其根 格式:ra= Froots(a,a=[1,3,2]; clear. close a a=[1,3,2]; b=[1,2,4]; ● ra=roots(a -broots(b)
• 2、多项式求导、求根和求值 • 1)求根 • 设多项式a(x)=x2+3x+2;b(x)= x2+2x+4;求其根。 • 格式:ra=roots(a), a=[1,3,2]; • clc • clear,close all • a=[1,3,2]; • b=[1,2,4]; • ra=roots(a) • rb=roots(b)