第六章数据分析制作:陈学明关系运算•MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。关系运算符的运算法则(1)当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。(2)当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。关系运算符的运算法则(3)当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。逻辑运算MATLAB提供3种逻辑运算符:&(与)、|(或)和~(非)。逻辑运算的运算法则为:(1)在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。(2)设参与逻辑运算的是两个标量a和b,那么,a&ba,b全为非零时,运算结果为1,否则为0。a|ba,b中只要有一个非零,运算结果为1。~a当a是零时,运算结果为1;当a非零时,运算结果为0。逻辑运算(3)若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。(4)若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。逻辑运算(5)逻辑非是单目运算符,也服从矩阵运算规则。(6)在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。多项式及运算•多项式的MATLAB表示法:•如:P=S3+2S2+3S+4•MATLAB可表示为系数向量•P=[1234]多项式的生成直接输入系数向量>>p=[1234]P=S3+2S2+3S+4*求多项式的根,可用函数roots(P)【例】r=roots(P)ans=-1.6506-0.1747+1.5469i-0.1747-1.5469i若已知多项式根向量,可用poly(P)生成多项式【例】已知P1(s)=(s+1)(s+2)(s+3)的根为:-1-2-3则编写:P1=poly([-1,-2,-3])运行后,得P1=16116表示已生成多项式为:P=s3+6s2+11s+6多项式的生成多项式运算1.求多项式值polyval(p,x0)V=polyval(P1,1)V=242.多项式加、减:*阶次相同,低阶缺项系数必须补0【例】:(s2+2s+1)+2s2P1=[121];P2=[200];P=P1+P2》P=321多项式运算3.多项式乘法conv.(卷积)(s+1)(s3+6s2+11s+6)P1=[11];P2=[16116];P3=conv(P1,P2)》P3=1717176→P3=s4+7s3+17s2+17s+6多项式运算4.多项式除运算deconva=[123];c=[413282718]d=deconv(c,a)c=413282718[d,r]=deconv(c,a)余数c除a后的整数多项式运算5.部分分式展开式residue[r,p,k]=residue(b,a)b(s)r(1)r(2)r(n)----=--------+--------+...+--------+k(s)a(s)s-p(1)s-p(2)s-p(n)p=[p(1),p(2),…p(n)]r=[r(1),r)2),….r(n)].k(s)直接项多项式运算6.多项式微分运算polyder【例】f(x)=2x5+5x4+4x2+x+4p=[250414];h=polyder(p)》h=1020081练习例:x1+2x2=82x1+3x2=13322121xx138=方程ax=ba=[12;23];b=[8;13];x=inv(a)*bx=a\bx=x=2.002.003.003.00多项式拟合与插值•在分析试验数据中,常常要面临将试验数据作解析描述的任务,这个问题有曲线拟合和插值两种方法。•在曲线拟合中,假定已知曲线的规律,作曲线的最佳逼近,但不需要经过所有的数据点;在插值中,认为数据是准确的,求取其中描述点之间的数据。多项式拟合多项式的最小二乘曲线拟合•使用polyfit,它需要曲线的x、y值,以及曲线的阶数。•曲线的阶数:如果曲线的阶数选择的过小,拟合效果不好;如果曲线的阶数过高,虽然数据点上看到效果好,数据点之间会出现有数据振荡的问题,阶数不宜过高,一般小于5阶。•灵活使用拟合插值插值函数1、曲线插值函数interp1•方法t=interp1(x,y,x0,’method’)•x、y:原始数据点,x0为进行插值的数组,method为插值算法:–线性插值('linear'),–三次样条插值('spline'),–三次多项...