第六章-MATLAB解曲线拟合问题(共6页).doc

上传人:飞****2 文档编号:15140285 上传时间:2022-05-11 格式:DOC 页数:6 大小:117.50KB
返回 下载 相关 举报
第六章-MATLAB解曲线拟合问题(共6页).doc_第1页
第1页 / 共6页
第六章-MATLAB解曲线拟合问题(共6页).doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《第六章-MATLAB解曲线拟合问题(共6页).doc》由会员分享,可在线阅读,更多相关《第六章-MATLAB解曲线拟合问题(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上第六章 MATLAB解曲线拟合问题曲线拟合就是计算出两组数据之间的一种函数关系,由此可描绘其变化曲线及估计非采集数据对应的变量信息。曲线拟合有多种方式,下面是一元函数采用最小二乘法对给定数据进行多项式曲线拟合,最后给出拟合的多项式系数。1 线性拟合一、数学模型 y=X+是p1的参数向量;是服从标准正态分布的随机干扰的n1的向量;y为n1的向量;X为np矩阵。二、求解线性拟合函数regress调用格式:b=regress(y,X)b,bint,r,rint,stats= regress(y,X)b,bint,r,rint,stats= regress(y,X,alpha

2、)说明:b=regress(y,X)返回X处y的最小二乘拟合值。bint返回的95%的置信区间。r中为形状残差,rint中返回每一个残差的95%置信区间。Stats向量包含R2统计量、回归的F值和p值。三、举例例1:设y的值为给定的x的线性函数加服从标准正态分布的随机干扰值得到。即y=10x+ ;求线性拟合方程系数。程序:编写M文件mainG.m如下:x=ones(10,1) (1:10) %ones(m,n)产生一个m行n列的元素全为1的矩阵 %(1:10)产生一个10行1列的元素值从110的矩阵 % A B 将矩阵A和B拼接成新矩阵或者写成A;By=x*10;1+normrnd(0,0.1

3、,10,1) % R = normrnd(MU,SIGMA,m,n) 依据参数MU、SIGMA生成一个随机数,m和n是R的行数和列数. b,bint=regress(y,x,0.05)结果:x = 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10y = 10.9567 11.8334 13.0125 14.0288 14.8854 16.1191 17.1189 17.9962 19.0327 20.0175b = 9.9213 1.0143bint =9.7889 10.0537 0.9930 1.0357即回归方程为:y=9.9213+1.0143x2 多项

4、式曲线拟合二、求解多项式曲线拟合函数ployfit调用格式:p=polyfit(x,y,n)p,s= polyfit(x,y,n)说明:x,y为数据点,n为多项式阶数,p为幂次从高到低的多项式系数向量。矩阵s用于生成预测值的误差估计。(见下一函数polyval)三、举例例2:由离散数据拟合出多项式。x0.1.2.3.4.5.6.7.8.91y.3.511.41.61.9.6.4.81.52程序:x=0:.1:1;y=.3 .5 1 1.4 1.6 1.9 .6 .4 .8 1.5 2;n=3;p=polyfit(x,y,n)xi=linspace(0,1,100);z=polyval(p,xi

5、); %多项式求值plot(x,y,o,xi,z,k:,x,y,b)legend(原始数据,3阶曲线)结果:p = 16.7832 -25.7459 10.9802 -0.0035多项式为:16.7832x3-25.7459x2+10.9802x-0.0035曲线拟合图形:例3:x=1:20,y=x+3*sin(x)程序:x=1:20;y=x+3*sin(x);p=polyfit(x,y,6)xi=1inspace(1,20,100);z=poyval(p,xi); %多项式求值函数plot(x,y,o,xi,z,k:,x,y,b)legend(原始数据,6阶曲线)结果:p =0.0000 -

6、0.0021 0.0505 -0.5971 3.6472 -9.7295 11.3304 图 6阶曲线 图10阶曲线例4:再用10阶多项式拟合程序:x=1:20;y=x+3*sin(x);p=polyfit(x,y,10)xi=linspace(1,20,100);z=polyval(p,xi);plot(x,y,o,xi,z,k:,x,y,b)legend(原始数据,10阶多项式)结果:p = Columns 1 through 7 0.0000 -0.0000 0.0004 -0.0114 0.1814 -1.8065 11.2360 Columns 8 through 11 -42.08

7、61 88.5907 -92.8155 40.2671说明:可用不同阶的多项式来拟合数据,但也不是阶数越高拟合的越好。3 多项式曲线求值函数polyval( )调用格式:y=polyval(p,x)y,DELTA=polyval(p,x,s)说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。y,DELTA=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计YDELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则YDELTA将至少包含50%的预测值。4 多项式曲线拟合的评价和置信区间函数polyconf( )调用格

8、式:Y,DELTA=polyconf(p,x,s)Y,DELTA=polyconf(p,x,s,alpha)说明:Y,DELTA=polyconf(p,x,s)使用polyfit函数的选项输出s给出Y的95%置信区间YDELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。1-alpha为置信度。例5:给出上面例1的预测值及置信度为90%的置信区间。程序:x=0:.1:1;y=.3 .5 1 1.4 1.6 1.9 .6 .4 .8 1.5 2n=3;p,s=polyfit(x,y,n) alpha=0.05;Y,DELTA=polyconf(p,x,s,alpha)结

9、果:p =16.7832 -25.7459 10.9802 -0.0035s = R: 4x4 double df: 7 normr: 1.1406Y = Columns 1 through 7 -0.0035 0.8538 1.2970 1.4266 1.3434 1.1480 0.9413 Columns 8 through 11 0.8238 0.8963 1.2594 2.0140DELTA = Columns 1 through 7 1.3639 1.1563 1.1563 1.1589 1.1352 1.1202 1.1352 Columns 8 through 11 1.1589

10、 1.1563 1.1563 1.36395 稳健回归函数:robust( )稳健回归是指此回归方法相对于其他回归方法而言,受异常值的影响较小。调用格式:b=robustfit(x,y)b,stats=robustfit(x,y)b,stats=robustfit(x,y,wfun,tune,const)说明:b返回系数估计向量;stats返回各种参数估计;wfun指定一个加权函数;tune为调协常数;const的值为on(默认值)时添加一个常数项;为off 时忽略常数项。例6:演示一个异常数据点如何影响最小二乘拟合值与稳健拟合。首先利用函数y=10-2x加上一些随机干扰的项生成数据集,然后改

11、变一个y的值形成异常值。调用不同的拟合函数,通过图形观查影响程度。程序: x=(1:10);y=10-2*x+randn(10,1);y(10)=0;bls=regress(y,ones(10,1) x) %线性拟合brob=robustfit(x,y) %稳健拟合scatter(x,y)hold onplot(x,bls(1)+bls(2)*x,:)plot(x,brob(1)+brob(2)*x,r)结果 :bls = 8.4452 -1.4784brob =10.2934 -2.0006分析:稳健拟合(实线)对数据的拟合程度好些,忽略了异常值。最小二乘拟合(点线)则受到异常值的影响,向异

12、常值偏移。6 向自定义函数拟合对于给定的数据,根据经验拟合为带有待定常数的自定义函数。二、向自定义函数拟合所用函数:nlinfit( )调用格式:beta,r,J=nlinfit(X,y,fun,betao)说明:beta返回函数fun中的待定常数;r表示残差;J表示雅可比矩阵。X,y为数据;fun自定义函数;beta0待定常数初值。例7:在化工生产中获得的氯气的级分y随生产时间x下降,假定在x8时,y与x之间有如下形式的非线性模型:现收集了44组数据,利用该数据通过拟合确定非线性模型中的待定常数。x y x y x y80.49160.43280.4180.49180.46280.40100

13、.48180.45300.40100.47200.42300.40100.48200.42300.38100.47200.43320.41120.46200.41320.40120.46220.41340.40120.45220.40360.41120.43240.42360.36140.45240.40380.40140.43240.40380.40140.43260.41400.36160.44260.40420.39160.43260.41首先定义非线性函数的m文件:fff6.mfunction yy=model(beta0,x) a=beta0(1); b=beta0(2); yy=a

14、+(0.49-a)*exp(-b*(x-8);程序:x=8.00 8.00 10.00 10.00 10.00 10.00 12.00 12.00 12.00 14.00 14.00 14.00. 16.00 16.00 16.00 18.00 18.00 20.00 20.00 20.00 20.00 22.00 22.00 24.00. 24.00 24.00 26.00 26.00 26.00 28.00 28.00 30.00 30.00 30.00 32.00 32.00. 34.00 36.00 36.00 38.00 38.00 40.00 42.00; y=0.49 0.49

15、0.48 0.47 0.48 0.47 0.46 0.46 0.45 0.43 0.45 0.43 0.43 0.44 0.43. 0.43 0.46 0.42 0.42 0.43 0.41 0.41 0.40 0.42 0.40 0.40 0.41 0.40 0.41 0.41. 0.40 0.40 0.40 0.38 0.41 0.40 0.40 0.41 0.38 0.40 0.40 0.39 0.39; beta0=0.30 0.02;betafit = nlinfit(x,y,sta67_1m,beta0)结果:betafit =0.38960.1011 即:a=0.3896 ,b=0.1011 拟合函数为:专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁