实验10曲线拟合和插值运算

实验10曲线拟合和插值运算

ID:41503331

大小:1.69 MB

页数:6页

时间:2019-08-26

实验10曲线拟合和插值运算_第1页
实验10曲线拟合和插值运算_第2页
实验10曲线拟合和插值运算_第3页
实验10曲线拟合和插值运算_第4页
实验10曲线拟合和插值运算_第5页
资源描述:

《实验10曲线拟合和插值运算》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验10曲线拟合和插值运算一.实验目的学会MATLAB软件中软件拟合与插值运算的方法。二.实验内容与要求在生产和科学实验中,自变量x与因变量y=f(x)的关系式有时不能直接写出表达式,而只能得到函数在若干个点的函数值或导数值。当要求知道观测点之外的函数值时,需要估计函数值在该点的值。要根据观测点的值,构造一个比较简单的函数y=t(x),使函数在观测点的值等于已知的数值或导数值,寻找这样的函数t(x),办法是很多的。根据测量数据的类型有如下两种处理观测数据的方法。(1)测量值是准确的,没有误差,一般用插

2、值。(2)测量值与真实值有误差,一般用曲线拟合。MATLAB中提供了众多的数据处理命令,有插值命令,拟合命令。1.曲线拟合已知离散点上的数据集[(,),………(,)],求得一解析函数y=f(x),使f(x)在原离散点上尽可能接近给定的值,之一过程叫曲线拟合。最常用的的曲线拟合是最小二乘法曲线拟合,拟合结果可使误差的平方和最小,即使出使最小的f(x).格式:p=polyfit(x,Y,n).说明:求出已知数据x,Y的n阶拟合多项式f(x)的系数p,x必须是单调的。[例1.95]>>x=[0.5,1.0,

3、1.5,2.0,2.5,3.0];%给出数据点的x值>>y=[1.75,2.45,3.81,4.80,7.00,8.60];%给出数据点的y值>>p=polyfit(x,y,2);%求出二阶拟合多项式f(x)的系数>>x1=0.5:0.05:3.0;%给出x在0.5~3.0之间的离散值>>y1=polyval(p,);%求出f(x)在的值>>plot(x,y,’*r’,’-b’)%比较拟合曲线效果计算结果为:p=0.56140.82871.1560即用f(x)=0.5614+0.8287x+1.156

4、0拟合已知数据,拟合曲线效果如图所示。6问题1.32:将上题改为6阶拟合,拟合效果又如何?(拟合曲线经过所有已知数据点)从以上例子可看出,选择不同的阶数,会得到不同的效果,如何选择阶数,需要进一步了解系统辨识方面的知识。1.一维插值已知离散点上的数据集[(,),………(,)],找出一解析函数连接自变量相邻的两个点(),并求得两点间的数值,之一过程叫插值。格式一:yi=inter(X,Y,,method)说明:该命令用指定的算法对数据点之间计算内插值,它找出一元函数f(x)在中间点的数值,其中函数f(x

5、)由所给数据决定,各个参量之间的关系如图1.32所示。‘nearest’::最近邻点插值,直接完成计算。‘linear’:线性插值(缺省方式),直接完成计算。‘spline’:三次样条函数插值。‘cubic’:三次函数插值。对于超出x的范围的的分量,使用其他的方法,inter将对超出的分量执行外插值算法。格式二:=inter(X,Y,,method,’extrap’)%对于超出x范围的中的分量将执行特殊的外插值法extrap.yi=inter(X,Y,,method,extrapval)%确定超出x范

6、围的中的分量的外插值extrapval,其值通常取NaN或0.[例1.96]>>year=1900:10:2010;>>product=[75.995,91.972,105.711,123.203,131.669,….249.633,256.344,267.893];6>>p2005==interpl(year,product,2005)x=1900:1:2010;>>y=interpl(year,product,x,‘cubic’);>>plot(year,product,’o’,x,y)插值结果为

7、p1995=262.11853.二维插值格式:ZI=interp2(X,Y,Z,XI,YI,method)说明:用指定的算法method计算二维插值,返回矩阵ZI,其元素对应于参量XI与Y元素,用户可以输入行向量和列向量XI和YI,此时,输出向量ZI与矩阵meshgrid(xi,yi)是同型的,参量X与Y必须是单调的,且相同的划分格式,就像由命令meshgrid生成的一样,method有:‘linear’:双线性插值算法(缺省算法)‘nearest’:最临近插值‘spline’:三次样条插值‘cubi

8、c’:双三次插值[例1.97]>>years=1950:10:1990;>>service=10:10:30;>>wage=[150.697,199.592,187.625;179.323,195.072,250.287;203.212,179.092,322.767;226.505,153.706,426.730;249.636,120.281,598.243];>>w=interp2(service,years,wage,15,1975)插值结果为:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。