资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,MATLAB及其应用,第三讲 数据处理,授课人:鲍文,退出,从“插入”菜单,选择图片,找到徽标文件,单击“确定”,重新设置徽标大小,单击徽标内任意位置。徽标外部出现的方框是“调整控点”,使用这些重新设置对象大小,如果在使用尺寸调整控点前按下,shift,键,则对象改变大小但维持原比例。,2024/9/13,1,目录,1,矩阵分析,2 数据分析函数,3 多项式处理,4 曲线拟和与插值,5 数据分析,6 微分方程数值解,退出,主菜单,2024/9/13,2,1 矩阵分析,一、特征值分解,对于方阵,a,特征值问题:,ax=rx,,求取,a,阵的特征值和特征向量使用下面的方法:,v,d=eig(a),使用 ,v,d=eig(a,nobalance),“平衡” 的作用减少计算误差,,,不平衡用于,A,阵大小悬殊的时候。,广义特征值问题:,ax=rbx,,求解的方式为:,v,d=eig(a,b),2024/9/13,3,二、三角分解,三角分解把矩阵分解为上三角矩阵和下三角矩阵,又称为,LU,分解或者。计算中使用高斯变量消去法。这一分解使用,l,u=lu(a),实现。,2024/9/13,4,三、奇异值分解,u,s,v=svd(a),实现奇异值分解。,分解得到的三个因数有如下关系,a=u*s*v,其中,u,矩阵和,v,矩阵是正交矩阵,,s,矩阵是对角矩阵,它的对角元素是,a,矩阵的奇异值。,奇异值分解的稳定性很好。,2024/9/13,5,2 数据分析函数,函数名含义,max最大值,min最小值,mean均值,std标准方差,median中值,2024/9/13,6,分析函数,函数名含义,sum元素的总和,prod元素的乘积,cumrod元素的累积,cumsum元素的累加和,diff 差分函数:少了一个元素,2024/9/13,7,例题,求出,y=x*sin(x),在0,x100,的每个峰值,思路:,1,、数学上峰值就是导数为零的点,2、导数在,matlab,中可以使用差分代替,3、差分后怎么求过零点呢?,2024/9/13,8,3 多项式处理,一、多项式表示,多项式在,MATLAB,中使用降幂系数的行向量表示。表示中需要包含零系数的项。poly2str,:control toolbox,中的函数,使用函数,roots,可找出多项式等于零的根,。,规定,:,多项式用行向量,根用列向量。,给出多项式的根,使用,poly,函数也可以构造出相应的多项式,。,2024/9/13,9,二、多项式运算,函数,conv,进行乘法运算,,deconv,进行除法运算。,MATLAB,没有提供特别的多项式加减法运算。,多项式除法并不一定能够除尽,很多时候需要有余数多项式。,多项式微分使用,polyder(p),函数,估计值使用,polyval(p,at),函数。,2024/9/13,10,4 曲线拟和与插值,在分析试验数据中,常常要面临将试验数据作解析描述的任务,这个问题有曲线拟合和插值两种方法。,在曲线拟合中,假定已知曲线的规律,作曲线的最佳逼近,但不需要经过所有的数据点;在插值中,认为数据是准确的,求取其中描述点之间的数据。,2024/9/13,11,一、曲线拟合,1,、,多项式的最小二乘曲线拟合,使用,polyfit,,它需要曲线的,x、y,值,以及曲线的阶数。,曲线的阶数,:,如果曲线的阶数选择的过,小,拟合效果不好;如果曲线的阶数过高,虽然数据点上看到效果好,数据点之间会,出现有数据振荡的问题,阶数不宜过高,小于5阶。,灵活使用拟合,2024/9/13,12,2,、,直接最小二乘,数据规律并不是多项式形式,直接最小二乘来拟合。,最小二乘函数为,k=nnls(fx,y),计算结果将使得|,fx*k-y|2,范数下最小,在计算中,,fx,可以为,x,的函数。,例子:拟合,matlab,2024/9/13,13,二、插值函数,1、曲线插值函数,interp1,方法,t=interp1(x,y,x0,method),x、y:,原始数据点,,x0,为进行插值的数组,,method,为插值算法,:,线性插值(,linear),,三次样条插值(,spline),三次多项式插值,(,cubic).,如果,x0,出界,则对应值为,NaN,例程:,ex42.m,matlab,2024/9/13,14,2、曲面插值,插值函数: interp2,基本形式:,zi=interp2(x,y,z,xi,yi,method),method包括,linear:线性,cubic:三次多项式,nearest:粗略估计数据,例程:ex43,2024/9/13,15,三、三次样条,1、使用的原因,高阶多项式插值出现病态问题,三次样条使用分段多项式,各点上的三次导数相等。它光滑、导数连续。,2、插值,yi=spline(x,y,xi);,pp=spline(x,y); 分段多项式形式,例程:ex44,2024/9/13,16,三次样条,pp,形式可以和三次多项式形式转化:,break,coef,np,nc=unmkpp(pp),断点、三次多项式、多项式数量、系数数量,pp=mkpp(break,coef);,由于转化为了多项式形式,可以方便的进行积分和微分运算。,2024/9/13,17,四、滤波和平滑,1、插值和拟合的问题:噪声,2、滤波: 滞后,filter,y=filter(b,a,x),a,b:滤波器的分子分母,x输入,a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + . + b(nb+1)*x(n-nb) - a(2)*y(n-1) - . - a(na+1)*y(n-na),例程:ex46,2024/9/13,18,3、平滑,yi=csaps(x,y,P,xi),yi=csaps(x,y,P),其中P为平滑因子01,0: 最小二乘 1:平滑近似,ex46,ex45,2024/9/13,19,5 数据分析,1、极小化,MATLAB,提供了,fmin,和,fmins,两个函数来求极值,它们分别寻找一维和,n,维函数的极值。,它使用的单纯性法搜索。函数计算量大,或搜索区内有多极值,搜索的过程较长,也可能找不到极值。如找不到极值,,将,停止运行并提供解释。,寻找极大值点,重定义函数为-,f(x),即可。,2024/9/13,20,2、,求零点,函数,fzero,可以寻找一维函数的过零点。,应用:使用,bode,图判断控制系统稳定性,要看幅频特性过零点和相频特性过180,0,点。,fzero,函数也可以寻找函数值等于常值点,只要重新定于函数为,f(x)-c,即可,2024/9/13,21,3、,积分,有限区域内积分,函数:,trapz、quad,和,quad8。,函数,trapz,通过计算梯形面积的和近似函数的积分,函数的分割是人为地。,quad,使用,Simpson,递归方法,,quad8,使用,Newton-costes,递归方法进行数值积分。为了获得更精确的结果,它们在所需的区间都计算被积函数。,quad8,比,quad,更精确。,2024/9/13,22,4,、,微分,微分描述了函数在一点处的斜率,是函数的微观性质,它对函数的微小变化十分敏感,函数的很小的变化,容易产生相邻点斜率的巨大变化。,尽量避免使用数值微分,尤其是,试验,数据的微分。如果迫切需要,最好先将试验数据进行最小二乘拟合伙这三次样条拟合,然后对拟合函数进行微分。,2024/9/13,23,5、,FFT,变换,FFT,即快速傅立叶变换,是数据分析的基本方法,是x由基2的快速变换算法来计算。如x长度不是精确的2次幂则后面使用0填充,,ifft(x),是向量,x,的离散傅立叶变换的逆变换。,在频率轴,上,绘制,FFT,曲线,要明确,FFT,结果与实际频率点的关系。设n个数据点,采样频率为,fs,,则,Nyquist,频率或,n=N/2+1,点与实际频率的关系:,f=(num-1)*fs/n,2024/9/13,24,FFT,需要注意的是,fft,结果为复数矩阵,为了得到幅频特性,可使用,abs,函数,使用,atan2,得到相角,由于有的系统的相角可能大于180,0,,而相角函数值域在-180,0,180,0,之间,需要使用,unwrap,函数展开折叠的相角,从而得到相频特性。,2024/9/13,25,6 微分方程数值解,常微分方程数值解用逐步积分方法实现,,Runge-Kutta,法是应用最多的微分方程数值解的方法。两种,Runge-Kutta,法函数:,t,x=ode23(xfun,t0,tf,x0,tol,trace),t,x=ode45(xfun, ,t0,tf,x0,tol,trace),这两种方法格式相同。其中,xfun,为定义的常微分方程函数名,该函数必须以为输出,以,t、x,为输入。,2024/9/13,26,微分方程,输入变量,t0、tf,为积分的启始和中止时间,单位是秒。,x0,为初始的状态向量。,tol,控制结果的精度,可以缺省。一般来说,,ode45,比,ode23,运算速度快一些。,Var der Pol,微分方程,重新定义变量,令,x,1,=x x,2,=dx/dt,则,dx,1,/dt=x,2,dx,2,/dt=u(1-x,1,2,)x,2,-x,1,2024/9/13,27,应用举例,一、特性拟合,title(string) 上标 _下标,二、模型辨识的阶数确定,三、数值积分:已知加速度求速度,,2024/9/13,28,
展开阅读全文