APP下载

二次样条插值的MATLAB实现

2017-07-10于振廷

科技风 2017年2期
关键词:插值

于振廷

摘 要:二次样条插值在工程设计上被广泛应用,且具有计算简单、稳定性好、收敛快等特点。凭借定义讨论给定一阶导数值时的二次样条插值,并根据数据用MATLAB实现。

关键词:二次样条;插值;MATLAB

工程上的许多问题,为了显示其内在规律的数量关系,我们都可用数学函数的思想y=f(x)来表示。有些问题其计算量大且较为复杂,难以还原准确的f(x)。[ 1 ]因此我们引入差值概念,用分段多项式P(x)近似f(x)。

一、二次样条插值的特点

二次样条插值是一种低阶次的插值,与高阶次插值相比较,它具有计算简单、稳定性好、收敛性有保证且易在电子计算机上实现等特点,同时能保证在连接处的连续性及一阶导数的连续性。[ 2 ]

二、二次样条差值的定义

给定区间[a,b],取n+1个点分别x0,x1,x2,…xn,另a=x0,b=xn,二次样条函数S(x)满足以下条件:

1)S(x)在每个区间间隔[xi-1,xi](i=1,2,…,n)上是一个二阶多项式;

2)S(x)在每一个内接点xi(i=1,2,…,n-1)上具有一阶的连续导数;

3)S(x)在所有节点满足S(xi)=yi(i=0,1,2,…,n)。

这样就可以确定3n-1个方程,并在[a,b]的两个端点处增加一个条件,这样就能确定一个特定的二次樣条插值函数。这个条件即边界条件,本文仅讨论给定初始端点的一阶导数值: (x0)= 0的情况。[ 3 ]

三、二次样条插值的计算

给定初始端点一阶导数值: (x0)= 0:[ 4 ]

在区间[x0,x1]内,已知S(x0)=y0,S(x1)=y1和 (x0)= 0,由Hermite插值公式可知:

S(x)= (x-x0)2+ 0(x-x0)+y0 (1)

其中hi=xi+1-xi(i=1,2,…,n-1),此时, 1= (x1)= - 0,同样加上S(x1)=y1,S(x2)=y2,两个条件可推导出区间[x1,x2]内的二次插值函数,以此类推得到区间内[xi,xi+1](i=1,2,…,n-1)二次样条插值函数为:

S(x)= (x-xi)2+ i(x-xi)+yi(2)

而 i+1可由公式3递推得到:

i+1= (xi+1)= - i (3)

四、二次样条插值函数的MATLAB实现

我们以y=2sin(x)+1为例,在区间[0,π]上分为5段并计算x,y的数值,如表1,并计算得出其端点的一阶导数值 =2。

我们仅根据数据x,y, ,用MATLAB的方法计算二次样条插值,并画出其仿真图,如图1。

表1

clear all

syms z;

x=0:(1/5)*pi:pi;y=[1.0000 2.1756 2.9021 2.9021 2.1756 1.0000];

y1(1,1)=2;n1=length(x)-1;

for i=1:1:n1;

A1=(y(1,i+1)-y(1,i)-(x(1,i+1)-x(1,i))*y1(1,i))/(x(1,i+1)-x(1,i))^2;A2=y1(1,i);A3=y(1,i);

y11(1,i)=A1;y12(1,i)=A2-2*A1*x(1,i);y13(1,i)=A1*x(1,i)^2-A2*x(1,i)+A3;

y1(1,i+1)=2*(y(1,i+1)-y(1,i))/(x(1,i+1)-x(1,i))-y1(1,i)

end

for i=1:1:n1

ai=y11(1,i);bi=y12(1,i);ci=y13(1,i);fi=ai*z.^2+bi*z+ci;ezplot(z,fi,[x(1,i),x(1,i+1)]);

hold on;end

由图1可知二次样条插值可以很好的还原原函数。

五、结语

本文对二次样条插值进行介绍,并引用数据用MATLAB方法计算二次样条插值,并给出相应的程序以及仿真图。从结果上看二次样条插值计算简单,并可以很好的还原原函数。

参考文献:

[1] 李庆杨,王能超.数值分析[M].第五版.北京:清华大学出版社,2008.12:22.

[2] 许小勇,钟太勇.三次样条插值函数的构造与Matlab实现[J].自动测量与控制,2006,第25卷第11期:76-78.

[3] 李岳生.多点边值问题与样条插值[J].中国科学,1983,第二期:147-156.

[4] 刘为,高毅.二次样条插值研究[J].计算机与数学工程,2011,第3期:21-24.

猜你喜欢

插值
输电线路桩基典型力学参数插值精度研究
无定河流域降水量空间插值方法比较研究
基于随机森林回归的围岩应力插值方法
CIC插值滤波器的研究
多项式函数f(x)取值情况的探讨
福州市PM2.5浓度分布的空间插值方法比较
关于Lagrange插值公式教学的体会
任意区间上Chebyshev多项式零点插值的误差估计及证明
不同空间特征下插值精度及变化规律研究
基于混合并行的Kriging插值算法研究