matlab-曲线拟合工具箱讲义课件

上传人:艳*** 文档编号:242969295 上传时间:2024-09-13 格式:PPT 页数:87 大小:954.50KB
返回 下载 相关 举报
matlab-曲线拟合工具箱讲义课件_第1页
第1页 / 共87页
matlab-曲线拟合工具箱讲义课件_第2页
第2页 / 共87页
matlab-曲线拟合工具箱讲义课件_第3页
第3页 / 共87页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,曲线拟合工具箱,曲线拟合定义,在实际工程应用和科学实践中,经常需要寻求,两个(或多个)变量间的关系,而实际去只能,通过观测得到一些离散的数据点。针对这些分,散的数据点,运用某种你和方法生成一条连续,的曲线,这个过程称为曲线拟合。,曲线拟合可分为:,(,1,)参数拟合,-,最小二乘法,(,2,)非参数拟合,-,插值法,一、数据预处理,在曲线拟合之前必须对数据进行与处理,去,除界外值、不定值和重复值,以减少认为误,差,提高拟合的精度。,数据预处理包括:,(,1,)数据输入与查看,(,2,)数据的预处理,传输数据通过数据,GUI,来实现,查看数据点,通过曲线拟合工具的散点图来实现。,1.,输入和查看数据集,(,1,)打开曲线拟合工具界面,通过,cftool,命令打开曲线拟合工具界面,5,个命令按钮,Data,按钮:可输出、查看和平滑数据;,Fitting,按钮:可拟合数据、比较拟合曲线和数据集;,Exclude,按钮:可以从拟合曲线中排除特殊的数据点;,Ploting,按钮:在选定区间后,单击按钮,可以显示拟合曲线和数据集;,Analysis,按钮:可以做内插法、外推法、微分或积分拟合。,(,2,)输入数据集,在输入数据之前,数据变量必须存在于,matlab,的工作区间。可以通过,load,命令输,入变量。单击曲线拟合工具界面中的,Data,按钮,打开,Data,对话框,在对话框中进行设,置,可以输入数据。,Data,对话框,包括两个选项卡:,Data Sets,和,Smooth.,Data Sets,选项卡:,.Import workspace vectors,把向量输,入工作区,主要以变量必须具有相同的维数,,无穷大的值和不定值被忽略。,X data,用于选择观测数据,Y data,用于选择,X,的响应数据,Weight,用于选择权重,与响应数据相联系的向量,如果没选择,默认值为,1.,.Preview,对所选向量进行图形化预览,.Data set name,设置数据集的名称。工具箱可以随即产生唯一的文件名,但用户可以重命名。,.Data sets,选项以列表的形式显示所有拟合的数据集。当选择一个数据集时,可以对它做如下操作:,.View,查看数据集,以图标形式和列表形式,可以选择方法排除异常值;,.Rename,重命名,.Delete,删去数据组,例:输入数据,采用,matlab,自带的文件,census,census,有两个变量:,cdate,和,pop,。,cdate,是一个年向量,包括,1790-1990,年,间隔为,10,年;,pop,是对应年份的美国人口。,whos,-file census,Name Size Bytes Class Attributes,cdate,21x1 168 double,pop 21x1 168 double,load census,cftool(cdate,pop,),散点图,单击,Data,按钮,在,X data,和,Y data,两个下拉式列表框中选,择变量名,将在,Data,对话框中显示散点图的,预览效果:,当选择,Data sets,列表框中的数据集时,单,击,View,按钮,打开,View Data Set,对话框,工作表方式,2.,数据的预处理,在曲线拟合工具箱中,数据的预处理主要包,括平滑法、排除法和区间排除法等。,(1),平滑数据,打开拟合工具箱,单击,Data,按钮,打开,Data,对话框,选择,Smooth,选项卡,Smooth,选项卡各选项的功能:,.Original data set,用于挑选需要拟合的数据集;,.Smoothed data set,平滑数据的名称;,.Method,用于选择平滑数据的方法,每一个相应数据用通过特殊的曲线平滑方法所计算的结果来取代。平滑数据的方法包括:,(,),Moving average,用移动平均值进行替换;,(,),Lowess,局部加权散点图平滑数据,采用线性最小二乘法和一阶多项式拟合得到的数据进行替换;,(,),Loess,局部加权散点图平滑数据,采用线性最小二乘法和二阶多项式拟合得到的数据进行交换;,(,),Savitzky-Golay,采用未加权的线性最小二乘法过滤数据,利用指定阶数的多项式得到的数据进行替换;,(,),Span,用于进行平滑计算的数据点的数目;,(,),Degree,用于,Savitzky-Golay,方法拟合多项式的阶数。,.Smoothed data sets,对于所有平滑数据集进行列表。可以增加平滑数据集,通过单击,Create smoothed data set,按钮,可以创建经过平滑的数据集。,.View,按钮 打开查看数据集的,GUI,,以散点图方式和工作表方式查看数据,可以选择排除异常值的方法。,.Rename,用于重命名。,.Delete,可删去数据组。,.Save to workspace,保存数据集。,(,2,)排除法和区间排除法,排除法是对数据中的异常值进行排除。,区间排除法是采用一定的区间去排除那些用,于系统误差导致偏离正常值的异常值。,在曲线拟合工具中单击,Exclude,按钮,可以,打开,Exclude,对话框,Exclusion rule name,指定分离规则的名称,Existing exclusion rules,列表产生的文件,名,当你选择一个文件名时,可以进行如下操,作:,Copy,复制分离规则的文件;,Rename,重命名;,delete,删去一个文件;,View,以图形的形式展示分离规则的文件。,Select data set,挑选需要操作的数据集;,Exclude graphically,允许你以图形的形式去除异常值,排除个别的点用“,”标记。,Check to exclude point,挑选个别的点进行排除,可以通过在数据表中打勾来选择要排除的数据。,Exclude Sections,选定区域排除数据:,Exclude X,选择预测数据,X,要排除的数据范围;,Exclude Y,选择响应数据,Y,要排除的数据范围。,(,3,)其他数据预处理方法,其他的预处理方法不便通过曲线拟合工具箱,来完成,主要包括两部分:,响应数据的转换和去除无穷大、缺失值和异,常值。,响应数据的转换一般包括对数转换、指数转,换,用这些转换可以使非线性的模型线性,化,便于曲线拟合。变量的转换一般在命令,行里实现,然后把转换后的数据输入曲线拟,合工具箱,进行拟合。,无穷大、不定值在曲线拟合中可以忽略,如,果想把他们从数据集中删除,可以用,isinf,和,isnan,置换无穷大值和缺失值。,二、曲线拟合,Matlab,提供两种曲线拟合方法:,(,1,)以函数的形式,使用命令对数据进行拟合。这种方法比较繁琐,需要对拟合函数有比较好的了解。,(,2,)用图形窗口进行操作,具有简便、快速,可操作性强的优点。,1.,多项式拟合函数,(1)Polyfit,函数,P=,polyfit(x,y,n,),用最小二乘法对数据进行拟合,返回,n,次多项式的系数,并用降序排列的向量表示,长度为,n+1.,p,s,=,polyfit(x,y,n,),返回多项式系数向量,p,和矩阵,s,。,s,与,polyval,函数一起用时,可以得到预测值的,误差估计。如数据,y,的误差服从方差为常数的,独立正态分布,,polyval,函数将生成一个误,差范围,其中包含至少,50%,的预测值,.,p,s,mu,=,polyfit(x,y,n,),返回多项式的系数,,mu,是一个二维向量,u1,u2,u1=mean(x),u2=,std(x,),对数据进行预处理,x=(x-u1)/u2,(2)Polyval,函数,利用该函数进行多项式曲线拟合评价,y=,polyval(p,x,),返回,n,阶多项式在,x,处的值,,x,可以是一个矩,阵或者是一个向量,向量,p,是,n+1,个以降序,排列的多项式的系数。,.y=,polyval(p,x,mu,),用,x=(x-u1)/u2,代替,x,,其中,mu,是一个,二维向量,u1,u2,u1=mean(x),u2=,std(x,),通过这,样处理数据,使数据合理化。,y,delta,=,polyval(p,x,s,),y,delta,=,polyval(p,x,s,mu,),产生置信区间,ydelta,。如果误差结果服从,标准正态分布,则实测数据落在,ydelta,区,间内的概率至少为,50%,。,例,x=0 0.0385 0.0963 0.1925 0.2888 0.385;,y=0.042 0.104 0.186 0.338 0.479 0.612;,p,s,mu,=polyfit(x,y,5),输出结果为:,p =,Columns 1 through 5,0.0193 -0.0110 -0.0430 0.0073 0.2449,Column 6,0.2961,说明拟合的多项式为:,s =,R: 6x6 double,df,: 0,normr,: 2.3684e-016,mu,=,0.1669,0.1499,自由度为,0,标准偏差为,2.3684e-016,例,:,根据表中数据进行,4,阶多项式拟合,X,1,3,4,5,6,7,8,9,10,F(x,),10,5,4,2,1,1,2,3,4,x=1 3 4 5 6 7 8 9 10;,y=10 5 4 2 1 1 2 3 4;,p,s=polyfit(x,y,4);,y1=polyval(p,x);,plot(x,y,go,x,y1,b-),poly2str(p,t),ans = -0.0049945 t4 + 0.11461 t3 - 0.61143 t2 - 1.1005 t + 11.5499,例:电阻和温度的关系数据如下,求,60,度时的电阻,.,温度,20.5 32.7 51.0 73.0 95.7,电阻,765 826 873 942 1032,T=20.5 32.7 51 73 95.7;,R=765 826 873 942 1032;,a=polyfit(T,R,1);,y=poly2str(a,t),y =,3.3987 t + 702.0968,y=,polyval(a,T,),%,计算多项式在某一点处的值,y =,1.0e+003 *,0.7718 0.8132 0.8754 0.9502 1.0274,plot(T,R,k+,T,y,r,*),hold on,plot(T,y,b,),polyval(a,60),ans,=,906.0212,例:已知年龄和运动能力的一组数据,试确定二者的关系,(,根据图形指定次数,),年龄,17 19 21 23 25 27 29,第一人,20.48 25.13 26.15 30.0 26.1 20.3 19.35,第二人,24.35 28.11 26.3 31.4 26.92 25.7 21.3,x1=17:2:29;,x=x1 x1;,y=20.48 25.13 26.15 30.0 26.1 20.3 19.35 24.35 28.11 26.3 31.4 26.92 25.7 21.3;,plot(x,y,r,+),a=polyfit(x,y,2,),a =,-0.2003 8.9782 -72.2150,poly2str(a,x),ans,=,-0.20031 x2 + 8.9782 x - 72.215,x1=17:0.1:29;,y1=-0.20031*x1.2+8.9782*x1-72.215;,hold on;plot(x1,y1,b),数据拟合函数表,cfit,产生拟合的目标,fit,用库模型、自定义模型、平滑样条或内插方法来拟合数据,fitoptions,产生或修改拟合选项,fittype,产生目标的拟合形式,cflibhelp,显示一些信息,包括库模型、三次样条和内插方法等。,disp,显示曲线拟合工具的信息,get,返回拟合曲线的属性,set,对于拟合曲线显示属性值,数据拟合函数表,excludedata,指定不参与拟合的数据,smooth,平滑响应数据,confint,计算拟合系数估计值的置信区间边界,differentiate,对于拟合结果求微分,integrate,对于拟合结果求积分,predint,对于新的观察量计算预测区间的边界,datastates,返回数据的描述统计量,feval,估计一个拟合结果结果或拟合类型,plot,画出数据点、拟合线、预测区间、异常值点和残差,2.,曲线的参数拟合,第一步:在命令行键入,Cftool,打开,curve fitting tool,对话框;,第二步: 在,curve fitting tool,对话框中,单击,Data,按钮打开,data,对话框指,定要分析的(预先存在工作区间),数据;,第三步:在,curve fitting tool,对话框中,单击,fitting,按钮打开,fitting,对话,框,进行设置,实现曲线拟合。,Fitting,对话框,包括两个面板:“,Fit Editor”,面板和“,Tabe,of Fits,”面板。,(,1,),Fit editor,选择拟合的文件名、数据集,选择排除数据的文件,比较数据拟合的各种方法,包括库函数、自定义的拟合模型和拟合参数的选择。,(,2,),Table of Fits,同时列出所有的拟合结果。,两个面板的详细描述:,New fit,和,Copy fit,按钮:开始进行曲线拟合是,单击,New fit,按钮,它采用默认的线性多项式拟合数据。在原有的拟合形式上,选择不同的曲线拟合方法,可以用,Copy fit,按钮。,Fit name,选项为当前拟合曲线的名字。单击,New fit,按钮时系统会产生默认的文件名。,Data set,选项为当前的数据集。,Exclusion rule,排除异常值的文件名,在数据与处理前建立的文件名。,Center and scale X data,可对观测数据进行中心化和离散化处理。,Type of fit,拟合的类型,包括参数拟合和非参数拟合两种。具体包括:,(,1,),Custom Equations,自定义拟合的线性或非线性方程;,(,2,),New equation,使用,Custom Equations,按钮钱,必须单击,New equation,按钮选择合适的方程;,(,3,),Exponential,指数拟合包括两种形式:,y=a*,exp(b,*x),y=a*,exp(b,*,x)+c,*,exp(d,*x),(,4,),Fourier,傅立叶拟合,正弦和余弦之和(共,8,个多项式),(,5,),Gaussian,高斯法,包括,8,个公式:,(,6,),Interpolant,内插法,包括线性内插、最近邻内插、三次样条内插和,shape-preserving,内插;,(,7,),Polynomial,多项式,从一次到九次;,(,8,),Rational,有理拟合,两个多项式之比,分子与分母都是多项式;,(,9,),Power,指数拟合,包括两种形式:,y=a*,xb,y=a*,xb+c,(,10,),Smoothing,spline,平滑样条拟合,默认的平滑参数由拟合的数据集来决定,参数是,0,产生一个分段的线性多项式拟合,参数是,1,产生一个分段三次多项式拟合;,(,11,),Sum of Sin Functions,正弦函数的和,采用以下,8,个公式:,a1*sin(b1*x+c1),a1*sin(b1*x+c1)+ a8*sin(b8*x+c8),(,12,),Weibull,两个参数的,Weibull,分布,表达式如下:,Y=a*b*x(b-1)*exp(-a*,xb,),(,3,),Degree of Freedom Adjusted R-Square,调整自由度以后的残差的平方,数值越接近,1,,曲线的拟合效果越好,(,4,),Root Mean Square Error,根的均方误差,Table of fits,拟合曲线的列表,可以对每个列表做如下操作:,Delete fit,删除所选的拟合曲线;,Save to workspace,储存所有的拟合信息;,Table options,选择与拟合相联系的信息。,Fit options,包括一些拟合方法,如线性拟合、非线性拟合,以及其他选项;,单击,Apply,按钮:采用上述所选各种方法进行拟合;,单击,Immediate apply,按钮,在选择一个拟合形式后立即输出结果并存储;,Results,罗列进行拟合的各种参数:,(,1,),SSE-sum of squares due to error,误差平方和,越接近,0,曲线的拟合效果越好,(,2,),R-square,越接近,1,,曲线的拟合效果越好,例:用三次和五次多项式拟合下列数据,rand(state,0),x=1:0.1:3 9:0.1:10;,c=2.5 -0.5 1.3 -0.1;,y=c(1)+c(2)*x+c(3)*x.2+c(4)*x.3+(rand(size(x)-0.5);,cftool(x,y,);,建立一个,M,文件,并运行上述文件,打开曲线拟合工具,点击,fitting,按钮,new fitcubic polynomial-apply,results,Linear model Poly3:,f(x,) = p1*x3 + p2*x2 + p3*x + p4,Coefficients (with 95% confidence bounds):,p1 = -0.09837 (-0.1095, -0.08729),p2 = 1.275 (1.113, 1.437),p3 = -0.4351 (-1.092, 0.2222),p4 = 2.56 (1.787, 3.332),Goodness of fit:,SSE: 2.587,R-square: 0.9993,Adjusted R-square: 0.9993,RMSE: 0.3039,Results,:,Linear model Poly5:,f(x,) = p1*x5 + p2*x4 + p3*x3 + p4*x2 + p5*x + p6,Coefficients (with 95% confidence bounds):,p1 = 0.001389 (-0.003589, 0.006367),p2 = -0.03441 (-0.1601, 0.09125),p3 = 0.1934 (-0.9131, 1.3),p4 = 0.2733 (-3.856, 4.402),p5 = 1.013 (-5.785, 7.811),p6 = 1.835 (-2.167, 5.837),Goodness of fit:,SSE: 2.552,R-square: 0.9993,Adjusted R-square: 0.9992,RMSE: 0.3133,拟合图形:,例:用有理拟合方法拟合数据,hahn1.m,hahn1.m,是,matlab,自带,描述铜的热膨胀与热力学温度的相关性,包括两个向量,temp,与,thermex,。,load hahn1,cftool(temp,thermex,),分子分母均为,2,次,分子分母均为,3,次,分子三次、分母二次,分子三次、分母二次的有理多项式拟合鲜果很好,拟合曲线充分体现了整个数据,残差随机分布在,0,附近。,3.,非参数拟合,有时我们对拟合参数的提取或解释不感,兴趣,只想得到一个平滑的通过各数据点的,曲线,这种拟合曲线的形式称之为非参数拟,合。,非参数拟合的方法包括,(,1,)插值法,Interpoants,(,2,)平滑样条内插法,Smoothing,spline,内插法:,在已知数据点之间估计数值的过程,包括,Linear,线性内差,在每一队数据之间用不同的线性多项式拟合;,Nearest neighbor,最近邻内插,内差点在最相邻的数据点之间;,Cubic,spline,三次样条内插,在每一队数据之间用不同的三次多项式拟合;,Shape-preserving,分段三次艾尔米特内插,.,平滑样条内插法:,是对杂乱无章的数据进行平滑处理,可以用平滑数据的方法来拟合,平滑的方法在数据的预处理中已经介绍。,例:用内插法拟合,carbon12alpha.mat,数据,load carbon12alpha,cftool(counts,angle,),fit 1,Fittingtype of fit,Interpolant,-,Nearest neighbor,fit 2,Fittingtype of fit,Interpolant,-,Shape-preserving,例:用三次样条内插和集中平滑样条内插法拟合下列数据,rand(state,0);,x=(4*pi)*0 1 rand(1,25);,y=sin(x)+.2*(rand(size(x)-.5);,cftool(x,y,),曲线的平滑级别用,Smoothing Parameter,选项给定,默认的平滑参数值与数据集有关,并再单击,Apply,按钮以后由工具箱自动计算。对于本数据集,默认的平滑参数值接近,1,,表示平滑样条接近于三次样条,并且几乎正好穿过每个数据点。可以自己指定参数值,为,0,时,生成一个分段线性多项式的拟合,为,1,时,生成一个分段三次多项式的拟合,它穿过所有的数据点。,fit2,默认平滑参数下的平滑样条内插拟合结果效果最好。,4.,基本的拟合界面,Matlab,还提供了一个方便简捷的拟合界面。它具有拟合快速,操作简便的有时,但拟合方法较少。,使用步骤:,(,1,)导入数据,并画图;,(,2,)在,tool,菜单中单击,Basic Fitting,对话框,例:用基本拟合界面拟合,census.mat,load census,plot(cdate,pop,ro,),在,tool,菜单中单击,Basic Fitting,对话框,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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