MATLAB学习笔记:数据插值与曲线拟合技巧

6.1 数据插值

数据插值可以根据有限个点的取值状况,合理估算出附近其他点的取值。

一、引例

零件加工问题

在飞机制造中,机翼的加工是一项关键技术。由于机翼尺寸很大,通常 在图纸中只能标出一些关键点的数据。下表给出了某型飞机机翼的下缘 轮廓线数据,求x每改变0.1时y的值。

x 0 3 5 7 9 11 12 13 14 15

y 0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6

代码:>> x= [0,3,5,7,9,11,12,13,14,15];

>> y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6];

>> x1=0:0.1:15;

>> y1=interp1(x,y,x1,'spline');

>> plot(x1,y1)

二、计算机制

数据插值是一种函数逼近的方法。

1、interp1():一维插值函数

调用格式:Y1=interp1(X,Y,x1,method)

其中,X、Y是两个等长的已知向量,分别表示采样点和采样值。x1是一个向量或标量,表示要插值的点。

method参数用于指定插值的计算方法:

(1)、linear:线性插值(默认方法)。将与插值点靠近的两个数据点用直线连接,然后在直线上选取对应插值点数据。

(2)、nearest:最近点插值。选择最近样本点插值。

(3)、pchip:分段3次埃尔米特插值。采用分段三次多项式,除满足插值条件,还需满足在若干节点处相邻段插值函数的一阶导数相等,使得曲线光滑的同时,还具有保形性。

(4)、spline:3次样条插值。每个分段内构造一个三次多项式,使其插值函数除满足插值条件外,还要求在各节点处具有连续的一阶和二阶导数。

2、interp2():二维插值函数

调用格式:Z1=interp2(X,Y,Z,x1,Y1,method)

其中,X、Y是两个已知向量,表示两个参数的采样点,Z是采样点对应的函数值。x1、Y1是两个向量或标量,表示要插值的点。

6.2 曲线拟合

一、引例

人口增长是当今世界上都关注的问题,对人口增长趋势进行预测是各国普遍的做法。已知某国1790年到2010年间历次人口普查数据如下表所示,请预测该国2020年的人口数。

解题思路:找一个函数,去逼近这些数据,然后再根据找到的函数,计算预测点的值。

代码:>>x=1790:10:2010;

       >>y=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,63.0,76.0,92.0,105.7,122.8,131.7,150.7,179.3,203.2,226.5,248.7,281.4,308.7];

>>plot(x,y,'*');

>>p=polyfit(x,y,3);

>>polyval(p,2020)

>>plot(x,y,'*',x,polyval(p,x));

二、计算机制

曲线拟合同数据插值类似,也是函数逼近的方法:构造函数g(x)去逼近未知函数f(x),使得误差  δ_{i}  = g(x_{i} )-f(x_{i})(i=1,2,3,…,n)

1、最小二乘法:最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误 差的平方和来寻找数据的最佳函数匹配。

设p(x)是一个多项式函数

p(x)=a_{m}x^m+a_{m-1}x^{m-1}+…+a_{1}x+a_{0}

\sum_{i=1}^n(P(x_{i})-y_{i})^2

的值最小,则p(x)为原函数y=f(x)的逼近函数。

2、MATLAB中的多项式拟合函数为polyfit(),其功能为求得最小二乘拟合多项式系数,其调用格式为:

(1)P=polyfit(X,Y,m)

(2)[P,S]=polyfit(X,Y,m)

(3)[P,S,mu]=polyfit(X,Y,m):根据样本数据X和Y,产生一个m次多项式P及其在采样点误差数据S,mu是一个二元向量,mu(1)是mean(X),而mu(2)是 std(X)。

3、注意事项

(1)要对问题的背景进行详细的分析。

(2)采样点并非越多越好,适当的时候,可以减少采样点,分段进行拟合。

 

6.3 数据插值与曲线拟合比较

相同点:都属于函数逼近方法

都能进行数据估算

不同点:实现方法不同

结果形式不同

侧重点不同

应用场合不同

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空