您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 求职简历 > Matlab插值、拟合与神经网络
MATLABSTUDY2020/2/27汇报人:王继利MATLAB插值、拟合与神经网络MATLABSTUDY2020/2/27T12时间轴T14T22T33T13T32T21T31T11整机子系统3子系统1子系统2整机与子系统故障间隔工作时间关系示意图问题回顾MATLABSTUDY2020/2/271.1插值的基本思想根据g(x)在区间[a,b]上n+1个互异点xj(称为节点)的函数值yj,j=0,1,…,n,求一个足够光滑、简单便于计算的函数f(x)(称为插值函数)作为g(x)的近似表达式,使得f(xj)=yj,j=0,1,…,n。1.2插值的适用情况当输入X与输出Y之间存在某种确定的函数关系,并且很难确定具体的函数形式。1插值MATLABSTUDY2020/2/271.3插值方法介绍按照插值的维数可分为:一维插值二维插值高维插值按照插值的方法可分为:多项式插值最邻近插值三次样条插值径向基函数插值克里金插值Hermite插值……1插值MATLABSTUDY2020/2/271插值1.3.1一维插值Matlab中有现成的一维插值函数interp1。y=interp1(x0,y0,x,method)method指定插值的方法,默认为线性插值。其值可为:'nearest'最近点等值方式插值'linear'线性插值'spline'三次样条插值'cubic'(新版本改为'pchip')三次Hermite插值或立方插值。所有的插值方法要求x0是单调的。其中,样条插值还可以这样:y=spline(x0,y0,x)MATLABSTUDY2020/2/27例1-1考虑一个著名的例子,f(x)=1/(1+25x2),-1=x=1,假设已知其中一些点的坐标,则可以采用下面的命令进行lagrange插值x0=-1+2*[0:10]/10;y0=1./(1+25*x0.^2);x=-1:.01:1;y=lagrange(x0,y0,x);ya=1./(1+25*x.^2);plot(x,ya,x,y,':')legend('原始图像','Lagrange插值')插值效果很差!Runge(龙格)现象MATLABSTUDY2020/2/27例1-2对例1-1中数据进行分段线性插值和样条插值x0=-1+2*[0:10]/10;y0=1./(1+25*x0.^2);x=-1:.01:1;y=interp1(x0,y0,x);ya=1./(1+25*x.^2);subplot(2,1,1)plot(x,ya,x,y,'r:')title('分段线性插值')legend('原始图像','分段线性插值')y=interp1(x0,y0,x,'spline');subplot(2,1,2)plot(x,ya,x,y,'r:')title('样条插值')legend('原始图像','样条插值')MATLABSTUDY2020/2/27-1-0.8-0.6-0.4-0.200.20.40.60.8100.51分段线性插值原始图像分段线性插值-1-0.8-0.6-0.4-0.200.20.40.60.8100.51样条插值原始图像样条插值MATLABSTUDY2020/2/27多重威布尔分布如何产生随机数?思考问题MATLABSTUDY2020/2/271插值1.3.2二维插值二维插值与一维插值的基本思想相同,插值计算过程更复杂。二维插值可分为网格节点插值法和散乱节点插值法。xOY图3-1网格节点0Yyx图3-2散乱节点MATLABSTUDY2020/2/271插值网格节点插值法主要有以下几种方法:最邻近点插值双三次插值双线性插值分片双三次样条插值(1)网格节点插值MATLABSTUDY2020/2/27要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超出x0,y0的范围。网格节点插值的Matlab实现z=interp2(x0,y0,z0,x,y,method)被插值点插值方法插值节点被插值点的函数值‘nearest’最邻近插值‘linear’双线性插值‘spline’三次样条‘cubic’双三次插值缺省时双线性插值(1)网格节点插值MATLABSTUDY2020/2/27例1-3假设由二元函数222(,)(2)xyxyzfxyxxe可以计算出一些较稀疏的网格数据,试根据这些数据对整个函数曲面进行各种插值拟合,比较拟合结果,并进行误差分析。原始数据与原始面图[x,y]=meshgrid(-3:.6:3,-2:.4:2);z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);%原始数据figure(1)surf(x,y,z)%原始数据面图axis([-3,3,-2,2,-0.7,1.5])%设置坐标轴范围boxontitle('原始数据面图')[xdat,ydat]=meshgrid(-3:.2:3,-2:.2:2);%插值点坐标MATLABSTUDY2020/2/27线性插值面图zdat1=interp2(x,y,z,xdat,ydat);%线性插值结果figure(2)surf(xdat,ydat,zdat1)%线性插值面图axis([-3,3,-2,2,-0.7,1.5])%设置坐标轴范围boxontitle('线性插值面图')立方插值面图zdat2=interp2(x,y,z,xdat,ydat,'cubic');%立方插值算法结果figure(3)surf(xdat,ydat,zdat2)%立方插值算法面图axis([-3,3,-2,2,-0.7,1.5])%设置坐标轴范围boxontitle('立方插值算法面图')MATLABSTUDY2020/2/27MATLABSTUDY2020/2/27MATLABSTUDY2020/2/27z=griddata(x0,y0,z0,x,y,method)(2)散乱节点插值被插值点插值方法插值节点被插值点的函数值‘nearest’最邻近插值‘linear’双线性插值‘cubic’双三次插值'v4'Matlab提供的插值方法缺省时双线性插值MATLABSTUDY2020/2/27例1-4已经有了x,y,z的坐标值,如x=[1234];y=[2345];z=[5674]。由这些坐标点通过插值方法插值得到三维曲面。Matlab程序x=[1234];y=[2345];z=[5674];[x1,y1]=meshgrid(1:0.1:4,2:0.1:5);z1=griddata(x,y,z,x1,y1,'v4');surf(x1,y1,z1)12342345051015XYZMATLABSTUDY2020/2/271插值1.3.3多维插值z=interpn(x1,x2,…xn,z0,xd1,xd2,…xdn,‘method’)v=griddata3(x0,y0,z0,v0,x,y,z,'method')MATLABSTUDY2020/2/272拟合2.1拟合的数学描述数学描述:从一堆看上去杂乱无章的数据中找出一般性规律来,即设法构造一条曲线(拟合曲线)反映所给数据点总的趋势,以消除其局部波动。这种要求曲线尽可能逼近给定数据的过程称“拟合”。另一种叫法为数值逼近。典型的拟合算法为最小二乘法。2.2拟合的适用情况当输入X与输出Y之间存在某种近似的函数关系,并且能够找出具体的函数形式近似描述。MATLABSTUDY2020/2/27最小二乘以残差平方和最小问题的解来确定拟合函数的方法。2拟合对于:X=[x1x2……xm]求函数使得miinjijjmiiiyxayx12012])([])([最小。f(X)=[y1y2……ym]MATLABSTUDY2020/2/27残差向量的各分量平方和记为:iiiyx)(minjiijjnyxaaaaS12010])([),,,(其中,(x)为基函数。根据实验数据分布特点选取,可选幂函数类、指数函数类、三角函数类等。令(i=1,2,…m)残差向量:222拟合MATLABSTUDY2020/2/270kaSminjiijjikyxax100])()[(2),,1,0(nk由多元函数求极值的必要条件,有可得即imiikmiijnjikjyxxxa110)()()(0])()()([10iikminjijikjyxxxa2拟合MATLABSTUDY2020/2/27上式为由n+1个方程组成的方程组,称正规方程组。njmiiikjmiijikyxaxx011)(])()([由得imiikmiijnjikjyxxxa110)()()(),,1,0(nk即miiikmiiniknmiiikmiiikyxxxaxxaxxa11111100)()()()()()()(),,1,0(nk2拟合MATLABSTUDY2020/2/27引入记号))(,),(),((21mrrrrxxx),,,(21myyyf),()(),(1ijmiikjkxx则由内积的概念可知imiikkyxf1)(),(),(),(kjjk显然内积满足交换律正规方程组便可化为),(),(),(),(1100faaaknknkk),,1,0(nk2拟合MATLABSTUDY2020/2/27将其表示成矩阵形式:的基,为函数类由于)(,),(),(10xxxn必然线性无关。因此)(,),(),(10xxxn其系数矩阵为对称阵。所以正规方程组的系数矩阵非奇异,即0])),det[((nnji根据Crame法则,正规方程组有唯一解,称其为最小二乘解。),(),(),(10fffn),(),(),(01000n),(),(),(11101n),(),(),(10nnnnnaaa102拟合MATLABSTUDY2020/2/27作为一种简单的情况,常使用多项式函数Pn(x)作为(xi,yi)(i=1,2,…,m)的拟合函数。nnkkxxxxxxx)(,,)(,,)(,1)(10基函数之间的内积为:)()(),(1ijmiikjkxxmijikixx1mijkix1imiikkyxf1)(),(miikiyx1拟合函数φ(x)=Pn(x)的基函数为:2拟合MATLABSTUDY2020/2/27待求解正规方程组为mkknkmkkkmkknmknkmknkmknkmknkmkkmkkmknkmkkyxyxyaaaxxxxxxxxm111101211111121112拟合MATLABSTUDY2020/2/272.3Matlab拟合(1)线性最小二乘拟合(2)非线性最小二乘拟合MATLABSTUDY2020/2/27(1)线性最小二乘拟合对于多项式函数:f(x)=a1xm+…+amx+am+1拟合,可利用命令:a=polyfit(x,y,m)输出拟合多项式系数a=[a1,…am,am+1](数组))输入同长度的数组X,Y拟合多项式次数MATLABSTUDY2020/2/2731即要求出二次多项式:3221)(axaxaxf求解出),,(321aaaA使得:921[()]iiifxy最小例2.1对下面一组数据作
本文标题:Matlab插值、拟合与神经网络
链接地址:https://www.777doc.com/doc-4038809 .html