防灾数学分享 http://blog.sciencenet.cn/u/fzmath 防灾科技学院数学教研室

博文

Lagrange 插值及其MATLAB实现

已有 17344 次阅读 2016-10-25 13:13 |个人分类:教学辅导|系统分类:教学心得| 拉格朗日插值

  拉格朗日插值是多项式插值中最基础的一种。为便于理解基函数的概念,从简单到一般情形来描述基函数及其拉格朗日多项式。

  先看线性插值。已知函数的两个互异点 $(x_0,y_0),(x_1,y_1)$ , 满足插值条件 $p(x_0)=y_0,p(x_1)=y_1$,求插值多项式 $p_1(x)$。过两互异点可确定唯一一条直线 $p_1(x)$

$$p_1(x) =y_0 +frac{y_1-y_0}{x_1-x_0}(x-x_0),$$

恒等变形为

$\begin{align} p_1(x)& = y_0 + \frac{x-x_0}{x_1-x_0} y_1-\frac{x-x_0}{x_1-x_0} y_0 \\ & = (1-\frac{x-x_0}{x_1-x_0})y_0 + \frac{x-x_0}{x_1-x_0} y_1\\ & = \frac{x-x_1}{x_0-x_1}y_0 + \frac{x-x_0}{x_1-x_0} y_1\\ & = l_0(x)y_0+l_1(x)y_1, \end{align}$


上式中,$l_0(x)= cfrac{x-x_1}{x_0-x_1},l_1(x)=cfrac{x-x_0}{x_1-x_0}$,这是两个一次函数。注意它们的构造方法,并验证它们的性质:

                $l_k(x_i) = \left \{ \begin{array}{cc} 1, & i=k, \\ 0, & i\ne k,(i,k=0,1.) \end{array} \right.$

称 $l_0(x),l_1(x)$ 为线性插值基函数。

类似地,我们构造 2 次多项式基函数

$$l_0(x) = frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)},$$

$$l_1(x) =frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)},$$

$$l_2(x) = frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)},$$

$n$ 次多项式的基函数。

   $$l_k(x) = prodlimits_{substack{i=0\ine k}}^nfrac{x-x_i}{x_k-x_i},k=0,1,cdots,n.$$

二、插值基函数  

$n$ 次代数插值问题的解可表示为

$$ p_n(x) = sumlimits_{k=0}^nl_k(x)y_k,$$

MATLAB 程序

function  yi = LagInterp(x,y,xi)

%  Lagrange 插值多项式,调用格式为

%   yi = LagInterp(x,y,xi)

%  其中

%  x 为插值节点,y为节点处函数值,

%  xi 为为估计函数自变量,yi 为xi处函数估计值

%

n = length(x); m = length(xi); p = zeros(n,m);

for k = 1:n

   t = ones(n,m);

   for j = 1:n

       if j~=k

           if abs(x(k) - x(j))<eps

              error('% 输入的插值节点必须互异!');

           end

           t(j,:) = (xi - x(j))/(x(k) - x(j));

       end

   p(k,:) = prod(t);

   end

   yi = y*p;

end


x = [1.1275, 1.1503, 1.1735, 1.1972];

y = [0.11910, 0.13954, 0.15932, 0.17903];

xi = [1.1300 1.1600];

yi = LagInterp(x,y,xi)

>> LagInterpmain

yi =

0.1214    0.1479



https://blog.sciencenet.cn/blog-292361-1010753.html

上一篇:Gauss-Seidel 迭代法解线性方程组 A x = b 及其MATLAB编程实现
下一篇:Newton 插值及其MATLAB实现
收藏 IP: 111.63.12.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-6 13:18

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部