- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
... ..........数值计算
... ..........
插值法是实用的数值方法,是函数逼近的重要方法。在生产和科学实验中,自变量 x 与因 变量 y 的函数 y = f(x)的关系式有时不能直接写出表达式,而只能得到函数在假设干个点的函 数值或导数值。当要求知道观测点之外的函数值时,需要估计函数值在该点的值。
如何根据观测点的值,构造一个比拟简单的函数 y=φ(x),使函数在观测点的值等于的数 值或导数值。用简单函数 y=φ(x)在点 x 处的值来估计未知函数 y=f(x)在 x 点的值。寻找这样 的函数φ(x),方法是很多的。φ (x)可以是一个代数多项式,或是三角多项式,也可以是有理 分式;φ(x)可以是任意光滑〔任意阶导数连续〕的函数或是分段函数。函数类的不同,自然 地有不同的逼近效果。在许多应用中,通常要用一个解析函数〔一、二元函数〕来描述观测数 据。
根据测量数据的类型:
1 .测量值是准确的,没有误差。
2 .测量值与真实值有误差。
这时对应地有两种处理观测数据方法:
1 .插值或曲线拟合。
2 .回归分析〔假定数据测量是精确时,一般用插值法,否那么用曲线拟合〕。 MATLAB 中提供了众多的数据处理命令。有插值命令,有拟合命令,有查表命令。
一维插值
插值定义为对数据点之间函数的估值方法,这些数据点是由某些集合给定。当人们不能很快地 求出所需中间点的函数值时,插值是一个有价值的工具。例如,当数据点是某些实验测量的结果或 是过长的计算过程时,就有这种情况。
interp1(x,y,xi,method)
x 和 y 为既有数据的向量,其长度必须相同。
xi 为要插值的数据点向量。
method 插值方法,‘nearest’/‘linear’/‘cub之ic一’,/‘spline’
分别为最近点插值/线性插值/分段三次 Hermite 插值/三次样条插值。
例
例
x=[1.0 2.0 3.0 4.0 5.0];
y=[11.2 16.5 20.4 26.3 30.5];
x1=2.55;
y11=interp1(x,y,x1,nearest)
y12=interp1(x,y,x1,linear)
y13=interp1(x,y,x1,cubic)
%输入变量数据 x %输入变量数据 y
%输入待插值点 x %最近点插值方法的插值结果
%线性插值方法的插值结果 %三次 Hermite 插值方法的插值结果
y14=interp1(x,y,x1,spline)
y11 =
20.4000
y12 =
18.6450
y13 =
18.6028
%样条插值方法的插值结果
y14 =
18.4874
plot(x,y)
35
35
30
25
20
15
10
1.5 2 2.5 3 3.5 4 4.5 5
1
或许最简单插值的例子是 MATLAB 的作图。按缺省, MATLAB 用直线连接所用的数据点以作图。 这个线性插值猜想中间值落在数据点之间的直线上。当然,当数据点个数的增加和它们之间距离的 减小时,线性插值就更精确。例如:
x1=linspace(0, 2*pi, 60);
x2=linspace(0, 2*pi, 6);
plot(x1, sin(x1), x2, sin(x2), - )
xlabel( x ), ylabel( sin(x) ), title( Linear Interpolation )
Linear
Linear Interpolation
1 2 3 4 5 6 7
x
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
上图是 sin 函数的两个图,一个在数据点之间用 60 个点,它比另一个只用 6 个点更光滑和更 精确。
根据所作的假设,有多种插值。而且,可以在一维以上空间中进行插值。即如果有反映两个变 量函数的插值, z=f(x, y),那么就可在 x 之间和在 y 之间,找出 z 的中间值进行插值。 MATLAB 在 一维函数 interp1 和在二维函数 interp2 中,提供了许多的插值选择。其中的每个函数将在下面阐 述。
为了说明一维插值,考虑以下问题, 12 小时内,一小时测量一次室外温度。数据存储在两个 MATLAB 变量中。
hours=1:12; % index for hour data was recorded
temps=[5 8 9
文档评论(0)