拉格朗日插值

在平面上给出 n n n个点的坐标 { x i , y i } \{x_i,y_i\} {xi,yi},求唯一的 n − 1 n-1 n1次多项式 f f f,满足 ∀ i ∈ [ 1 , n ] , f ( x i ) = y i \forall i\in[1,n],f(x_i)=y_i i[1,n],f(xi)=yi,即经过这 n n n个点

显然,这 n n n x x x互不相同

设多项式 l j = ∏ i = 1 , i ≠ j n x − x i x j − x i l_j=\prod_{i=1,i\not=j}^{n}\frac{x-x_i}{x_j-x_i} lj=i=1,i=jnxjxixxi

显然

l j ( i ) = { 0 x i ≠ x j 1 x i = x j l_j(i)=\left\{ \begin{aligned}&&&0&&x_i\not=x_j\\&&&1&&x_i=x_j\end{aligned} \right. lj(i)={01xi=xjxi=xj

f ( x ) = ∑ i = 1 y i × l i ( x ) f(x)=\sum_{i=1}y_i\times l_i(x) f(x)=i=1yi×li(x)

∀ i ∈ [ 1 , n ] , x i ∈ [ 1 , n ] \forall i\in[1,n],x_i\in[1,n] i[1,n],xi[1,n]怎么快速求 f ( q w q ) f(qwq) f(qwq)

l j = ∏ i = 1 , i ≠ j n x − i j − i l_j=\prod_{i=1,i\not=j}^n\frac{x-i}{j-i} lj=i=1,i=jnjixi

上面用两个数组维护一下 ∏ q w q − i \prod qwq-i qwqi,下面阶乘+逆元

f ( q w q ) = ∑ i = 1 n y i × l i ( q w q ) f(qwq)=\sum_{i=1}^ny_i\times l_i(qwq) f(qwq)=i=1nyi×li(qwq)
= ∑ i = 1 n y i × ∏ j = 1 i − 1 q w q − j i − j × ∏ j = i + 1 n q w q − j i − j =\sum_{i=1}^ny_i\times \prod_{j=1}^{i-1}\frac{qwq-j}{i-j}\times \prod_{j=i+1}^{n}\frac{qwq-j}{i-j} =i=1nyi×j=1i1ijqwqj×j=i+1nijqwqj
= ∑ i = 1 n y i × ∏ j = 1 i − 1 q w q − j ( i − 1 ) ! × ( − 1 ) n − i ∏ j = i + 1 n q w q − j ( n − i ) ! =\sum_{i=1}^ny_i\times\frac{\prod_{j=1}^{i-1}qwq-j}{(i-1)!}\times (-1)^{n-i}\frac{\prod_{j=i+1}^{n}qwq-j}{(n-i)!} =i=1nyi×(i1)!j=1i1qwqj×(1)ni(ni)!j=i+1nqwqj
= ∑ i = 1 n ( − 1 ) n − i × y i × ∏ j = 1 n q w q − j ( i − 1 ) ! × ( n − i ) ! × ( q w q − i ) =\sum_{i=1}^n(-1)^{n-i}\times y_i\times \frac{\prod_{j=1}^nqwq-j}{(i-1)!\times (n-i)!\times (qwq-i)} =i=1n(1)ni×yi×(i1)!×(ni)!×(qwqi)j=1nqwqj

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值