【12月学习进度3/31—计算机图形学期末准备01】拉格朗日插值 + 三次Hermite插值

相关概念

  • 型值点:事先给定的离散点
  • 插值:得到的曲线通过所有的型值点
  • 逼近:不要求通过给定的所有型值点,用给定型值点控制曲线形状
    在这里插入图片描述

在这里插入图片描述

Hermite多项式

在这里插入图片描述
在这里插入图片描述

拉格朗日插值

拉格朗日插值是当 j = 0 j=0 j=0 时,即只给出函数值的Hermite多项式插值问题。
在这里插入图片描述
参考通俗易懂讲解视频

拉格朗日插值多项式:
在这里插入图片描述
其中 l i ( x ) l_i(x) li(x) 是插值基函数,它类似开关
因为当且仅当 x = x i x = x_i x=xi 时, l i ( x i ) l_i(x_i) li(xi)为1,否则为0;
相当于 x = x i x = x_i x=xi时,开关 i i i 打开,其余开关均闭合, f ( x i ) = y i f(x_i) = y_i f(xi)=yi

这就保证了 给定 n + 1 n+1 n+1 个点,拉格朗日插值法可以构造出 n n n 阶多项式,恰好穿过这 n + 1 n+1 n+1 个点
f ( x i ) = y i f(x_i)=y_i f(xi)=yi
( i = 0 , 1 , 2 , . . . , n ) (i = 0,1,2,...,n) (i=0,1,2,...,n)

Q:n+1个点为什么构造n阶插值多项式?
n阶多项式: f ( x ) = a 0 + a 1 ∗ x + a 2 ∗ x 2 + a 3 ∗ x 3 + . . . + a n ∗ x n f(x) = a_0 + a_1*x + a_2*x^2 + a_3*x^3 + ... +a_n*x^n f(x)=a0+a1x+a2x2+a3x3+...+anxn
n阶多项式有 n + 1 n+1 n+1 个系数( a 0 , a 1 , . . . a n a_0,a_1,...a_n a0,a1,...an
n+1个点 <==> n+1个条件(方程)<=> 可解n+1个变量 <=> n阶多项式可确定
在这里插入图片描述
对于一组给定的点,拉格朗日插值法总能给出一条最低次数函数穿过这些点
在这里插入图片描述

但当一组连续均匀的点中出现一个“叛徒”(异常点),则拉格朗日插值就会想办法通过这个点,则就会出现龙格现象(Runge Phenomenon)。

【龙格现象】参考视频演示
利用多项式对某一函数进行逼近时,多项式次数越高,插值结果反而越偏离原函数的现象。(次数比较高时,产生剧烈的振荡)

在这里插入图片描述

例题

已知函数 f ( x ) f(x) f(x) f ( 144 ) = 12 , f ( 169 ) = 13 , f ( 225 ) = 15 f(144)=12 , f(169)=13 , f(225)=15 f(144)=12,f(169)=13,f(225)=15.
f ( x ) f(x) f(x) 的二次拉格朗日插值多项式.

  1. 题目给定离散点: ( x 0 , y 0 ) , ( x 1 , y 1 ) , ( x 2 , y 2 ) (x_0,y_0) , (x_1,y_1) , (x_2,y_2) (x0,y0),(x1,y1),(x2,y2)
    其中 x 0 = 144 , y 0 = 12 , x 1 = 169 , y 1 = 13 , x 2 = 225 , y 2 = 15 x_0 = 144,y_0=12 , x_1=169,y_1=13,x_2= 225,y_2=15 x0=144,y0=12,x1=169,y1=13,x2=225,y2=15 ;
  2. 构造插值基函数 l i ( x ) l_i(x) li(x)
    l 0 ( x ) = ( x − x 1 ) ( x − x 2 ) / ( x 0 − x 1 ) ( x 0 − x 2 ) l_0(x) = (x-x_1)(x-x_2)/(x_0-x_1)(x_0-x_2) l0(x)=(xx1)(xx2)/(x0x1)(x0x2)
    l 1 ( x ) = ( x − x 0 ) ( x − x 2 ) / ( x 1 − x 0 ) ( x 1 − x 2 ) l_1(x) = (x-x_0)(x-x_2)/(x_1-x_0)(x_1-x_2) l1(x)=(xx0)(xx2)/(x1x0)(x1x2)
    l 2 ( x ) = ( x − x 0 ) ( x − x 1 ) / ( x 2 − x 0 ) ( x 2 − x 1 ) l_2(x) = (x-x_0)(x-x_1)/(x_2-x_0)(x_2-x_1) l2(x)=(xx0)(xx1)/(x2x0)(x2x1)
  3. 二次拉格朗日插值多项式 L ( x ) L(x) L(x)
    L ( x ) = y 0 ∗ l 0 ( x ) + y 1 ∗ l 1 ( x ) + y 2 ∗ l 2 ( x ) L(x) = y_0*l_0(x) + y_1*l_1(x) + y_2*l_2(x) L(x)=y0l0(x)+y1l1(x)+y2l2(x)
    (代入上述值即可求出)

三次Hermite插值

参考博文
(以下图片来自于参考博文)

三次Hermite插值要求在离散点处:

  • 插值多项式的值 P ( x ) = f ( x ) P(x)=f(x) P(x)=f(x)
  • 插值多项式的导数值 P ′ ( x ) = f ′ ( x ) P'(x) = f'(x) P(x)=f(x)

在这里插入图片描述
借鉴拉格朗日插值法构造插值基函数的思想
在这里插入图片描述
两点三次Hermite插值推导过程
参考讲解视频:【《数值分析》| 华科 | 研究生基础课-哔哩哔哩】

【列出插值需满足的条件】

在这里插入图片描述

构造基函数 α 0 ( x ) , α 1 ( x ) , β 0 ( x ) , β 1 ( x ) α_0(x) , α_1(x) , β_0(x) , β_1(x) α0(x),α1(x),β0(x),β1(x)

α 0 ( x ) α_0(x) α0(x) 为例:

需满足条件: α 0 ( x 0 ) = 1 , α 0 ( x 1 ) = 0 , α 0 ′ ( x 0 ) = 0 , α 0 ′ ( x 1 ) = 0 α_0(x_0) = 1 , α_0(x_1) = 0 , α_0'(x_0)=0,α_0'(x_1) = 0 α0(x0)=1,α0(x1)=0,α0(x0)=0,α0(x1)=0
x 1 x_1 x1 α 0 ( x ) α_0(x) α0(x) 的二重零点 α 0 ( x ) α_0(x) α0(x) 有一因式为 ( x − x 1 ) 2 (x-x_1)^2 (xx1)2

借鉴拉格朗日插值基函数 l i ( x ) = ( x − x j ) / ( x i − x j ) l_i(x) = (x-x_j)/(x_i-x_j) li(x)=(xxj)/(xixj) x i x_i xi 取1 ;
使用 l i ( x ) = ( x − x j ) 2 / ( x i − x j ) 2 l_i(x) = (x-x_j)^2/(x_i-x_j)^2 li(x)=(xxj)2/(xixj)2

所以 α 0 ( x ) = ( x − x 1 ) 2 / ( x 0 − x 1 ) 2 ∗ ( a 0 x + b 0 ) α_0(x) = (x-x_1)^2/(x_0-x_1)^2*(a_0x+b_0) α0(x)=(xx1)2/(x0x1)2(a0x+b0)
(最后乘上一次式 a 0 x + b 0 a_0x+b_0 a0x+b0 是为了构造 α 0 ( x ) α_0(x) α0(x)三次式

同理构造三次式 β 0 ( x ) , β 1 ( x ) β_0(x) , β_1(x) β0(x),β1(x) 乘以 c i c_i ci 零次项系数

在这里插入图片描述

【求解待定系数 a i , b i , c i a_i , b_i,c_i ai,bi,ci

将上述条件代入到构造的插值基函数式子中,解出待定系数。

在这里插入图片描述
三次Hermite插值多项式:
在这里插入图片描述在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值