点值转系数——拉格朗日插值从零入门详解及优化

本文介绍了拉格朗日插值法,从线性插值和抛物线插值出发,逐步阐述一般化插值法,并探讨了如何通过重心拉格朗日法进行优化,以及针对连续点值的优化策略,旨在提高计算效率。
摘要由CSDN通过智能技术生成

拉格朗日插值法

导入

考虑这样一类问题,目前有一未知的函数y=f(x),但给出了其上的n+1个点对: ( x 0 , y 0 ) , ( x 1 , y 1 ) , . . . ( x n , y n ) (x_0,y_0), (x_1,y_1),...(x_n,y_n) (x0,y0),(x1,y1),...(xn,yn)的具体值,求解:再给出个x,求它对应函数值y为多少?

换一种说法,给出了n+1个点,要求出与这n+1个点拟合度最好的一条曲线 的函数方程。那么,此时我们可以考虑计算出一种使得这n+1个点全部在其上的曲线表达式,那么这一表达式必然为拟合度最好的,也就可以用它来近似求解上一问题了,它被称为拉格朗日插值式。

再换一种更简单的说法,给点值表达式,求系数表达式

(想使用高斯消元?高斯消元的时间复杂度在 O ( n 3 ) O(n^3) O(n3),但拉格朗日插值可以将该问题简化到 O ( n 2 ) O(n^2) O(n2)甚至O(n)

1、线性插值

首先 ,我们假设f(x)为一个线性函数,则已知其两点,即可拟合出它的图形y=kx+b。
即可认为: f ( x ) = P 1 ( x ) = L 0 ( x ) × y 0 + L 1 ( x ) × y 1 f(x)=P_1(x)=L_0(x)\times y_0+L_1(x)\times y_1 f(x)=P1(x)=L0(x)×y0+L1(x)×y1。其中 L 0 ( x ) = { 1 x = x 0 0 x = x 1 L_0(x)=\left\{\begin{aligned} 1\quad x=x_0 \\0 \quad x=x_1\end{aligned}\right. L0(x)={ 1x=x00x=x1 L 1 ( x ) = { 0 x = x 0 1 x = x 1 L_1(x)=\left\{\begin{aligned} 0 \quad x=x_0 \\1 \quad x=x_1\end{aligned}\right. L1(x)={ 0x=x01x=x1

我们将 P 1 ( x ) P_1(x) P1(x)称为线性插值式,此时 f ( x ) = P 1 ( x ) f(x)=P_1(x) f(x)=P1(x),但若f(x)并非线性函数,二者就不一定相等了。

观察一元一次方程: y − y 0 = ( y 1 − y 0 x 1 − x 0 ) ⋅ ( x − x 0 ) y-y_0=(\frac{y_1-y_0}{x_1-x_0})\cdot (x-x_0) yy0=(x1x0y1y0)(xx0),易得 y = x − x 1 x 0 − x 1 y 0 + x − x 0 x 1 − x 0 y 1 ⇒ { L 0 ( x ) = x − x 1 x 0 − x 1 L 1 ( x ) = x − x 0 x 1 − x 0 y=\frac{x-x_1}{x_0-x_1}y_0+\frac{x-x_0}{x_1-x_0}y_1 \Rightarrow \left\{\begin{aligned} L_0(x)=\frac{x-x_1}{x_0-x_1} \\L_1(x)=\frac{x-x_0}{x_1-x_0} \end{aligned}\right. y=x0x1xx1y0+x1x0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值