《最新实验一用Matlab数据拟合PPT课件》由会员分享,可在线阅读,更多相关《最新实验一用Matlab数据拟合PPT课件(21页珍藏版)》请在金锄头文库上搜索。
1、实验一用Matlab数据拟合例例1 已知观测数据点如表所示已知观测数据点如表所示xy0-0.4470.11.9780.23.280.36.160.47.080.57.340.67.660.79.560.89.480.99.3111.2分别用分别用3次和次和6次多项式曲线拟合这些数据点次多项式曲线拟合这些数据点.x=0:0.1:1y=-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.3,11.2plot(x,y,k.,markersize,25)axis(0 1.3 -2 16)p3=polyfit(x,y,3)p6=polyfit(x,y,6)
2、编写编写Matlab程序如下程序如下:已知应力已知应力-应变关系可以用一条指数曲线来描述应变关系可以用一条指数曲线来描述, 即假设即假设式中式中, 表示应力表示应力, 单位是单位是 N/m2; 表示应变表示应变.解解 选取选取指数函数指数函数作拟合时作拟合时, 在拟合前需作变量代换在拟合前需作变量代换, 化为化为 k1, k2 的线性函数的线性函数.于是于是,令令即即在命令窗口输入在命令窗口输入:x=500*1.0e-6 1000*1.0e-6 1500*1.0e-6 2000*1.0e-6 2375*1.0e-6y=3.103*1.0e+3 2.465*1.0e+3 1.953*1.0e+3
3、 1.517*1.0e+3 1.219*1.0e+3z=log(y)a=polyfit(x,z,1)k1=exp(8.3009)w=1.55 2.47 2.93 3.03 2.89plot(x,w,*)y1=exp(8.3009)*x.*exp( -494.5209*x)plot(x,w,*,x,y1,r-)已知应力已知应力-应变关系可以用一条指数曲线来描述应变关系可以用一条指数曲线来描述, 即假设即假设式中式中, 表示应力表示应力, 单位是单位是 N/m2; 表示应变表示应变.拟合曲线为拟合曲线为:令令则则求得求得于是于是在实际应用中常见的拟合曲线有在实际应用中常见的拟合曲线有:直线直线多项
4、式多项式一般一般 n=2, 3, 不宜过高不宜过高.双曲线双曲线(一支一支)指数曲线指数曲线2. 非线性曲线拟合非线性曲线拟合: nlinfit.功能功能:x=lsqcurvefit(fun, x0, xdata, ydata)x, resnorm=lsqcurvefit(fun, x0, xdata, ydata)根据给定的数据根据给定的数据 xdata, ydata (对应点的横对应点的横, 纵坐标纵坐标), 按函数文件按函数文件 fun 给定的函数给定的函数, 以以x0为初值作为初值作最小二乘拟合最小二乘拟合, 返回函数返回函数 fun中的中的系数向量系数向量x和残差的平方和和残差的平方
5、和resnorm.例例4 已知观测数据点如表所示已知观测数据点如表所示xy03.10.13.270.23.810.34.50.45.180.560.67.050.78.560.89.690.911.25113.17求三个参数求三个参数 a, b, c的值的值, 使得曲线使得曲线 f(x)=aex+bx2+cx3 与与已知数据点在最小二乘意义上充分接近已知数据点在最小二乘意义上充分接近.首先编写存储拟合函数的函数文件首先编写存储拟合函数的函数文件.function f=nihehanshu(x,xdata)f=x(1)*exp(xdata)+x(2)*xdata.2+x(3)*xdata.3保存
6、为文件保存为文件 nihehanshu.m例例4 已知观测数据点如表所示已知观测数据点如表所示xy03.10.13.270.23.810.34.50.45.180.560.67.050.78.560.89.690.911.25113.17求三个参数求三个参数 a, b, c的值的值, 使得曲线使得曲线 f(x)=aex+bx2+cx3 与与已知数据点在最小二乘意义上充分接近已知数据点在最小二乘意义上充分接近.编写下面的程序调用拟合函数编写下面的程序调用拟合函数.x=0:0.1:1;y=3.1,3.27,3.81,4.5,5.18,6,7.05,8.56,9.69,11.25,13.17;x0=
7、0,0,0;beta,r,J=nlinfit(x,y,nihehanshu,x0);编写下面的程序调用拟合函数编写下面的程序调用拟合函数.x=0:0.1:1;y=3.1,3.27,3.81,4.5,5.18,6,7.05,8.56,9.69,11.25,13.17;x0=0,0,0;beta,r,J=nlinfit(x,y,nihehanshu,x0);程序运行后显示程序运行后显示beta = 3.0022 4.0304 0.9404例例4 已知观测数据点如表所示已知观测数据点如表所示xy03.10.13.270.23.810.34.50.45.180.560.67.050.78.560.89
8、.690.911.25113.17求三个参数求三个参数 a, b, c的值的值, 使得曲线使得曲线 f(x)=aex+bx2+cx3 与与已知数据点在最小二乘意义上充分接近已知数据点在最小二乘意义上充分接近.说明说明: 最小二乘意义上的最佳拟合函数为最小二乘意义上的最佳拟合函数为f(x)= 3ex+ 4.03x2 + 0.94 x3.此时的残差是此时的残差是: 0.0912.f(x)= 3ex+ 4.03x2 + 0.94 x3.拟合函数为拟合函数为:练习练习:1. 已知观测数据点如表所示已知观测数据点如表所示xy03.10.13.270.23.810.34.50.45.180.560.67.050.78.560.89.690.911.25113.17求用三次多项式进行拟合的曲线方程求用三次多项式进行拟合的曲线方程.2. 已知观测数据点如表所示已知观测数据点如表所示xy1.617.72.7491.313.14.1189.43.6110.82.334.50.644.9409.13652.436.9求求a, b, c的值的值, 使得曲线使得曲线 f(x)=aex+bsin x+c lnx 与已知数据与已知数据点在最小二乘意义上充分接近点在最小二乘意义上充分接近.结束语结束语谢谢大家聆听!谢谢大家聆听!21