MatLab曲线拟合工具箱应用课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《MatLab曲线拟合工具箱应用课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MatLab 曲线拟合 工具箱 应用 课件
- 资源描述:
-
1、曲线拟合定义1在实际工程应用和科学实践中,经常需要寻求在实际工程应用和科学实践中,经常需要寻求两个(或多个)变量间的关系,而实际去只能两个(或多个)变量间的关系,而实际去只能通过观测得到一些离散的数据点。针对这些分通过观测得到一些离散的数据点。针对这些分散的数据点,运用某种你和方法生成一条连续散的数据点,运用某种你和方法生成一条连续的曲线,这个过程称为曲线拟合。的曲线,这个过程称为曲线拟合。曲线拟合可分为:曲线拟合可分为:(1)参数拟合)参数拟合 -最小二乘法最小二乘法 (2)非参数拟合)非参数拟合-插值法插值法一、数据预处理在曲线拟合之前必须对数据进行与处理,去在曲线拟合之前必须对数据进行与
2、处理,去除界外值、不定值和重复值,以减少认为误除界外值、不定值和重复值,以减少认为误差,提高拟合的精度。差,提高拟合的精度。数据预处理包括:数据预处理包括:(1)数据输入与查看)数据输入与查看(2)数据的预处理)数据的预处理传输数据通过数据传输数据通过数据GUI来实现,查看数据点来实现,查看数据点通过曲线拟合工具的散点图来实现。通过曲线拟合工具的散点图来实现。1.输入和查看数据集(1)打开曲线拟合工具界面)打开曲线拟合工具界面 通过通过cftool命令打开曲线拟合工具界面命令打开曲线拟合工具界面5个命令按钮Data按钮:可输出、查看和平滑数据;按钮:可输出、查看和平滑数据;Fitting按钮:
3、可拟合数据、比较拟合曲线和按钮:可拟合数据、比较拟合曲线和数据集;数据集;Exclude按钮:可以从拟合曲线中排除特殊的按钮:可以从拟合曲线中排除特殊的数据点;数据点;Ploting按钮:在选定区间后,单击按钮,可按钮:在选定区间后,单击按钮,可以显示拟合曲线和数据集;以显示拟合曲线和数据集;Analysis按钮:可以做内插法、外推法、微分按钮:可以做内插法、外推法、微分或积分拟合。或积分拟合。(2)输入数据集 在输入数据之前,数据变量必须存在于在输入数据之前,数据变量必须存在于matlab的工作区间。可以通过的工作区间。可以通过load命令输命令输入变量。单击曲线拟合工具界面中的入变量。单击
4、曲线拟合工具界面中的Data按钮,打开按钮,打开Data对话框,在对话框中进行设对话框,在对话框中进行设置,可以输入数据。置,可以输入数据。Data对话框包括两个选项卡:包括两个选项卡:Data Sets 和和 Smooth.Data Sets选项卡:选项卡:.Import workspace vectors 把向量输把向量输入工作区,主要以变量必须具有相同的维数入工作区,主要以变量必须具有相同的维数,无穷大的值和不定值被忽略。,无穷大的值和不定值被忽略。X data 用于选择观测数据用于选择观测数据Y data 用于选择用于选择X的响应数据的响应数据Weight 用于选择权重,与响应数据相联
5、系的用于选择权重,与响应数据相联系的向量,如果没选择,默认值为向量,如果没选择,默认值为1.Preview 对所选向量进行图形化预览对所选向量进行图形化预览.Data set name 设置数据集的名称。工具箱可设置数据集的名称。工具箱可以随即产生唯一的文件名,但用户可以重以随即产生唯一的文件名,但用户可以重命名。命名。.Data sets 选项以列表的形式显示所有拟合的选项以列表的形式显示所有拟合的数据集。当选择一个数据集时,可以对它数据集。当选择一个数据集时,可以对它做如下操作:做如下操作:.View 查看数据集,以图标形式和列表形式,查看数据集,以图标形式和列表形式,可以选择方法排除异常
6、值;可以选择方法排除异常值;.Rename 重命名重命名 .Delete 删去数据组删去数据组例:输入数据,采用matlab自带的文件censuscensus 有两个变量:有两个变量: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)散点图
7、 单击Data按钮 在X data和Y data两个下拉式列表框中选 择变量名,将在Data对话框中显示散点图的 预览效果:当选择Data sets列表框中的数据集时,单 击View按钮,打开View Data Set对话框工作表方式2.数据的预处理在曲线拟合工具箱中,数据的预处理主要包在曲线拟合工具箱中,数据的预处理主要包括平滑法、排除法和区间排除法等。括平滑法、排除法和区间排除法等。(1)平滑数据平滑数据打开拟合工具箱,单击打开拟合工具箱,单击Data按钮,打开按钮,打开Data对话框,选择对话框,选择Smooth选项卡选项卡Smooth选项卡各选项的功能:.Original data s
8、et 用于挑选需要拟合的数据集;用于挑选需要拟合的数据集;.Smoothed data set平滑数据的名称;平滑数据的名称;.Method用于选择平滑数据的方法,每一个相用于选择平滑数据的方法,每一个相应数据用通过特殊的曲线平滑方法所计算应数据用通过特殊的曲线平滑方法所计算的结果来取代。平滑数据的方法包括:的结果来取代。平滑数据的方法包括:()Moving average 用移动平均值进行替用移动平均值进行替换;换;()Lowess局部加权散点图平滑数据,采局部加权散点图平滑数据,采用线性最小二乘法和一阶多项式拟合得到用线性最小二乘法和一阶多项式拟合得到的数据进行替换;的数据进行替换;()L
9、oess局部加权散点图平滑数据,采用局部加权散点图平滑数据,采用线性最小二乘法和二阶多项式拟合得到的线性最小二乘法和二阶多项式拟合得到的数据进行交换;数据进行交换;()Savitzky-Golay 采用未加权的线性最采用未加权的线性最小二乘法过滤数据,利用指定阶数的多项小二乘法过滤数据,利用指定阶数的多项式得到的数据进行替换;式得到的数据进行替换;()Span用于进行平滑计算的数据点的数用于进行平滑计算的数据点的数目;目;()Degree 用于用于Savitzky-Golay方法拟合方法拟合多项式的阶数。多项式的阶数。.Smoothed data sets 对于所有平滑数据集进对于所有平滑数据
10、集进行列表。可以增加平滑数据集,通过单击行列表。可以增加平滑数据集,通过单击Create smoothed data set按钮,可以创建经按钮,可以创建经过平滑的数据集。过平滑的数据集。.View按钮按钮 打开查看数据集的打开查看数据集的GUI,以散点图,以散点图方式和工作表方式查看数据,可以选择排方式和工作表方式查看数据,可以选择排除异常值的方法。除异常值的方法。.Rename用于重命名。用于重命名。.Delete可删去数据组。可删去数据组。.Save to workspace保存数据集。保存数据集。(2)排除法和区间排除法排除法是对数据中的异常值进行排除。排除法是对数据中的异常值进行排除
11、。区间排除法是采用一定的区间去排除那些用区间排除法是采用一定的区间去排除那些用于系统误差导致偏离正常值的异常值。于系统误差导致偏离正常值的异常值。在曲线拟合工具中单击在曲线拟合工具中单击Exclude按钮,可以按钮,可以打开打开Exclude对话框对话框Exclusion rule name指定分离规则的名称指定分离规则的名称Existing exclusion rules列表产生的文件列表产生的文件名,当你选择一个文件名时,可以进行如下操名,当你选择一个文件名时,可以进行如下操作:作:Copy 复制分离规则的文件;复制分离规则的文件;Rename重命名;重命名;delete 删去一个文件;删
12、去一个文件;View以图形的形式展示分离规则的文件。以图形的形式展示分离规则的文件。Select data set 挑选需要操作的数据集;挑选需要操作的数据集;Exclude graphically允许你以图形的形式去除异允许你以图形的形式去除异常值,排除个别的点用常值,排除个别的点用“”标记。标记。Check to exclude point 挑选个别的点进行排挑选个别的点进行排除,可以通过在数据表中打勾来选择要排除,可以通过在数据表中打勾来选择要排除的数据。除的数据。Exclude Sections 选定区域排除数据:选定区域排除数据:Exclude X选择预测数据选择预测数据X要排除的数
13、据范围;要排除的数据范围;Exclude Y选择响应数据选择响应数据Y要排除的数据范围。要排除的数据范围。(3)其他数据预处理方法其他的预处理方法不便通过曲线拟合工具箱其他的预处理方法不便通过曲线拟合工具箱来完成,主要包括两部分:来完成,主要包括两部分:响应数据的转换和去除无穷大、缺失值和异响应数据的转换和去除无穷大、缺失值和异常值。常值。响应数据的转换一般包括对数转换、指数转响应数据的转换一般包括对数转换、指数转换,用这些转换可以使非线性的模型线性换,用这些转换可以使非线性的模型线性化,便于曲线拟合。变量的转换一般在命令化,便于曲线拟合。变量的转换一般在命令行里实现,然后把转换后的数据输入曲
14、线拟行里实现,然后把转换后的数据输入曲线拟合工具箱,进行拟合。合工具箱,进行拟合。无穷大、不定值在曲线拟合中可以忽略,如无穷大、不定值在曲线拟合中可以忽略,如果想把他们从数据集中删除,可以用果想把他们从数据集中删除,可以用isinf和和isnan置换无穷大值和缺失值。置换无穷大值和缺失值。二、曲线拟合Matlab提供两种曲线拟合方法:提供两种曲线拟合方法:(1)以函数的形式,使用命令对数据进行拟)以函数的形式,使用命令对数据进行拟合。这种方法比较繁琐,需要对拟合函数合。这种方法比较繁琐,需要对拟合函数有比较好的了解。有比较好的了解。(2)用图形窗口进行操作,具有简便、快速,)用图形窗口进行操作
15、,具有简便、快速,可操作性强的优点。可操作性强的优点。1.多项式拟合函数(1)Polyfit函数函数P=polyfit(x,y,n)用最小二乘法对数据进行拟合,返回用最小二乘法对数据进行拟合,返回n次多项次多项式的系数,并用降序排列的向量表示,长度式的系数,并用降序排列的向量表示,长度为为n+1.p,s=polyfit(x,y,n)返回多项式系数向量返回多项式系数向量p和矩阵和矩阵s。s与与polyval函数一起用时,可以得到预测值的函数一起用时,可以得到预测值的误差估计。如数据误差估计。如数据y的误差服从方差为常数的的误差服从方差为常数的独立正态分布,独立正态分布,polyval函数将生成一
16、个误函数将生成一个误差范围,其中包含至少差范围,其中包含至少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个以降序个以降序排列的多项式的系数。排列的多项式的
17、系数。.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
18、=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-016mu=0.1669 0.1499自由度为 0 标准偏差为 2.3684e-016例:根据表中数据进行4阶多项式拟合X1345678910F(x)10 54211234 x=1 3 4 5 6 7 8 9 10;y=10 5 4 2
19、 1 1 2 3 4;p,s=polyfit(x,y,4);y1=polyval(p,x);plot(x,y,go,x,y1,b-)1234567891012345678910 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,
展开阅读全文