matlab一次插值,MATLAB对一组数据进行插值的方法

1、拉格朗日插值

用多项式函数(10.2)作为插值函数时,希望通过解方程组(10.3)而得到待定系数

function y=lagrange(x0,y0,x);

n=length(x0);m=length(x);

for i=1:m

z=x(i);

s=0.0;

for k=1:n

p=1.0;

for j=1:n

if j~=k

p=p*(z-x0(j))/(x0(k)-x0(j));

end

end

s=p*y0(k)+s;

end

y(i)=s;

en

2、分段线性插值

用Matlab实现分段线性插值不需要编制函数程序,Matlab中有现成的一维插值函数interp1。

y=interp1(x0,y0,x,'method')

method指定插值的方法,默认为线性插值。其值可为:

'nearest' 最近项插值

'linear' 线性插值

'spline' 立方样条插值'cubic' 立方插值。

所有的插值方法要求x0是单调的。

当x0为等距时可以用快速插值法,使用快速插值法的格式

为 '*nearest'、'*linear' 、'*spline' 、'*cubic'

3、三次样条曲线插值

Matlab中三次样条插值也有现成的函数:

y=interp1(x0,y0,x,'spline');

y=spline(x0,y0,x);

pp=csape(x0,y0,conds),

pp=csape(x0,y0,conds,valconds),y=ppval(pp,x)。

其中x0,y0是已知数据点,x是插值点,y是插值点的函数值。

插值技术(或方法)远不止这里所介绍的这些,但在解决实际问题时,对于一位插值问题

而言,前面介绍的插值方法已经足够了。 剩下的问题关键在于什么情况下使用、 怎样使用和使用

何种插值方法的选择上。

拉格朗日插值函数在整个插值区间上有统一的解析表达式,其形式关于节点对称,光滑性

好。但缺点同样明显,这主要体现在高次插值收敛性差(龙格现象);增加节点时前期计算作

废,导致计算量大;一个节点函数值的微小变化(观测误差存在)将导致整个区间上插值函数

都发生改变,因而稳定性差等几个方面。因此拉格朗日插值法多用于理论分析,在采用拉格朗

日插值方法进行插值计算时通常选取 n < 7 。

分段线性插值函数(仅连续)与三次样条插值函数(二阶导数连续)虽然光滑性差,但他

们都克服了拉格朗日插值函数的缺点,不仅收敛性、 稳定性强,而且方法简单实用,计算量小。

因而应用十分广泛。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值