【学习笔记】插值之拉格朗日插值(Lagrange)

0 插值介绍

插值法是广泛应用于理论研究和工程实际的重要数值方法。用提供的部分离散的函数值来进行理论分析和设计都是极不方便的,因此希望能够用一个既能反映原函数特征,又便于计算的简单函数去近似原函数。

1 低次拉格朗日插值

定理 :设 x 0 {x_0} x0, ⋯ {\cdots} ⋯, x n {x_n} xn是互异插值节点,则满足差值条件 p ( x i ) = y i ( i = 0 , 1 , 2 , ⋯   , n ) {p(x_i)}=y_i(i=0,1,2,\cdots,n) p(xi)=yi(i=0,1,2,⋯,n)的插值多项式 p ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a n x n {p(x)=a_0+a_1x+a_2x^2+\cdots+a_nx^n} p(x)=a0+a1x+a2x2+⋯+anxn是存在且唯一的。

证明:由条件可知, p ( x ) p(x) p(x)的系数 a i a_i ai满足
{ a 0 + a 1 x 0 + ⋯ + a n x 0 = y 0 a 0 + a 1 x 1 + ⋯ + a n x 1 = y 1 ⋮ a 0 + a 1 x n + ⋯ + a n x n = y n \left\{ \begin{array}{c} a_0+a_1x_0+\cdots+a_nx_0=y_0\\ a_0+a_1x_1+\cdots+a_nx_1=y_1\\ \vdots\\ a_0+a_1x_n+\cdots+a_nx_n=y_n\\ \end{array} \right. ⎩ ⎨ ⎧a0+a1x0+⋯+anx0=y0a0+a1x1+⋯+anx1=y1⋮a0+a1xn+⋯+anxn=yn

这是一个关于 a 0 , a 1 , ⋯   , a n a_0,a_1, \cdots ,a_n a0,a1,⋯,an的 n + 1 n+1 n+1元线性方程组,并注意到其系数行列式为一个范德蒙行列式,又由于 i ≠ j i \ne j i=j时 x i ≠ x j x_i \ne x_j xi=xj,于是,方程组唯一解。

以上定理的证明提供了一个求 p ( x ) p(x) p(x)的方法,这就是解方程组。但当 n n n较大时,这是很困难的。对于给定的插值点,求形如 p ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a n x n {p(x)=a_0+a_1x+a_2x^2+\cdots+a_nx^n} p(x)=a0+a1x+a2x2+⋯+anxn的插值多项式有不同的方法。

1.1 n=1时插值方法

先讨论 n = 1 n=1 n=1的简单情况,互异插值点 x 0 , x 1 x_0,x_1 x0,x1上的函数值分别为 f ( x 0 ) , f ( x 1 ) f(x_0),f(x_1) f(x0),f(x1)是已知的,通过两点 ( x 0 , f ( x 0 ) ) (x_0,f(x_0)) (x0,f(x0))及 ( x 1 , f ( x 1 ) ) (x_1,f(x_1)) (x1,f(x1))的插值多项式是一条直线,即两点式
L 1 ( x ) = x − x 1 x 0 − x 1 f ( x 0 ) + x − x 0 x 1 − x 0 f ( x 1 ) L_1(x)=\frac {x-x_1}{x_0-x_1}f(x_0) + \frac {x-x_0}{x_1-x_0}f(x_1) L1(x)=x0−x1x−x1f(x0)+x1−x0x−x0f(x1)

显然, L 1 ( x 0 ) = f ( x 0 ) , L 1 ( x 1 ) = f ( x 0 ) L_1(x_0)=f(x_0),L_1(x_1)=f(x_0) L1(x0)=f(x0),L1(x1)=f(x0),满足插值条件,所以 L 1 ( x ) L_1(x) L1(x)就是线性插值多项式。若记 l 0 ( x ) = x − x 1 x 0 − x 1 l_0(x)=\frac{x-x_1}{x_0-x_1} l0(x)=x0−x1x−x1, l 1 ( x ) = x − x 0 x 1 − x 0 l_1(x)=\frac{x-x_0}{x_1-x_0} l1(x)=x1−x0x−x0,则称 l 0 ( x ) , l 1 ( x ) l_0(x),l_1(x) l0(x),l1(x)为关于 x 0 x_0 x0与 x 1 x_1 x1的线性插值基函数。

于是有
L 1 ( x ) = l 0 ( x ) f ( x 0 ) + l 1 ( x ) f ( x 1 ) L_1(x)=l_0(x)f(x_0)+l_1(x)f(x_1) L1(x)=l0(x)f(x0)+l1(x)f(x1)

1.2 n=2时插值方法

当 n = 2 n=2 n=2时,给定互异插值点 x 0 , x 1 , x 2 x_0,x_1,x_2 x0,x1,x2上的函数值分别为
f ( x 0 ) , f ( x 1 ) , f ( x 2 ) f(x_0),f(x_1),f(x_2) f(x0),f(x1),f(x2)
l 0 ( x ) = ( x − x 1 ) ( x − x 2 ) ( x 0 − x 1 ) ( x 0 − x 2 ) , l_0(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}, l0(x)=(x0−x1)(x0−x2)(x−x1)(x−x2),
l 1 ( x ) = ( x − x 0 ) ( x − x 2 ) ( x 1 − x 0 ) ( x 1 − x 2 ) , l_1(x)=\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}, l1(x)=(x1−x0)(x1−x2)(x−x0)(x−x2),
l 2 ( x ) = ( x − x 0 ) ( x − x 1 ) ( x 2 − x 0 ) ( x 2 − x 1 ) l_2(x)=\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)} l2(x)=(x2−x0)(x2−x1)(x−x0)(x−x1)

称为关于点 x 0 , x 1 , x 2 x_0,x_1,x_2 x0,x1,x2的二次插值基函数,它满足
l i ( x j ) = { 1 , j = i 0 , j ≠ i , i , j = 0 , 1 , 2 , ⋯   l_i(x_j)= \left\{ \begin{array}{c} 1, j = i \\ 0, j \ne i\\ \end{array},i,j=0,1,2,\cdots \right. li(xj)={1,j=i0,j=i,i,j=0,1,2,⋯

满足条件的 L 2 ( x i ) = f ( x i ) ( i = 0 , 1 , 2 ) L_2(x_i)=f(x_i)(i=0,1,2) L2(xi)=f(xi)(i=0,1,2)的二次插值多项式 L 2 ( x ) L_2(x) L2(x)可表示为
L 2 ( x ) = l 0 ( x ) f ( x 0 ) + l 1 ( x ) f ( x 1 ) + l 2 ( x ) f ( x 2 ) L_2(x)=l_0(x)f(x_0)+l_1(x)f(x_1)+l_2(x)f(x_2) L2(x)=l0(x)f(x0)+l1(x)f(x1)+l2(x)f(x2)
y = L 2 ( x ) y=L_2(x) y=L2(x)的图形是通过三点 ( x 1 , f ( x i ) ) ( i = 0 , 1 , 2 ) (x_1,f(x_i))(i=0,1,2) (x1,f(xi))(i=0,1,2)的抛物线。

1.3 举例

x x x 1 4 9 16
x \sqrt{x} x 1 2 3 4

解:

选择与 x = 5 x=5 x=5最接近的三点 x 0 = 1 , x 1 = 4 , x 2 = 9 x_0=1,x_1=4,x_2=9 x0=1,x1=4,x2=9为插值点,由
L 2 ( x ) = l 0 ( x ) f ( x 0 ) + l 1 ( x ) f ( x 1 ) + l 2 ( x ) f ( x 2 ) L_2(x)=l_0(x)f(x_0)+l_1(x)f(x_1)+l_2(x)f(x_2) L2(x)=l0(x)f(x0)+l1(x)f(x1)+l2(x)f(x2)

得, 5 ≈ 1 ⋅ ( 5 − 4 ) ( 5 − 9 ) ( 1 − 4 ) ( 1 − 9 ) + 2 ⋅ ( 5 − 1 ) ( 5 − 9 ) ( 4 − 1 ) ( 4 − 9 ) + 3 ⋅ ( 5 − 1 ) ( 5 − 4 ) ( 9 − 1 ) ( 9 − 4 ) ≈ 2.267 \sqrt{5} \approx 1 \cdot \frac{(5-4)(5-9)}{(1-4)(1-9)}+2 \cdot \frac{(5-1)(5-9)}{(4-1)(4-9)}+ 3 \cdot \frac{(5-1)(5-4)}{(9-1)(9-4)} \approx 2.267 5 ≈1⋅(1−4)(1−9)(5−4)(5−9)+2⋅(4−1)(4−9)(5−1)(5−9)+3⋅(9−1)(9−4)(5−1)(5−4)≈2.267

相关推荐
Zhao-Jichao1 小时前
AI Prompting for Everyone 课程笔记 - P21 总结 Conclusion
人工智能·笔记
欢欢李1 小时前
【LTE L3 笔记 05】LTE同步信号
笔记·无线通信·物理层·lte·空口协议
La Pulga3 小时前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
蒸蒸yyyyzwd3 小时前
秋招学习笔记 day106
笔记·学习
小李不想当小白4 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
欢欢李5 小时前
【LTE L3 笔记 04】LTE帧结构
笔记·无线通信·物理层·lte·空口协议
莱茶荼菜6 小时前
【slam公式】
人工智能·线性代数·机器学习
Zhao-Jichao7 小时前
AI Prompting for Everyone 课程笔记 - P20 实验与期末项目 Lab and Final Project
前端·人工智能·笔记
lisw057 小时前
作为人类代理的大语言模型及其角色分类!
人工智能·学习·语言模型
Z21-X7 小时前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生