插值简述

①代数插值(Algebraic interpolation)

代数插值即多项式插值,所求插值函数为:

\[p_n(x)=a_0+a_1x+a_2x^2+.......+a_nx^n \]

显然,用待定系数法即可推出\(\text{n+1}\)

②泰勒差值(Taylor interpolation)

泰勒展开式:

\[p_n(x)≈f(x_0)+f'(x_0)(x-x_0)+ \frac{f''(x_0)}{2!}(x-x_0)^2+......+\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n \]

余项为:

\[R(n)=\frac{f^{(n+1)}( \epsilon )}{(n+1)!}(x-x_0)^{n+1} \]

显然,泰勒插值即为\(\text{0-k}\)阶的导数

但是并非所有多项式均可\(n\)阶可导,局限性很大

③拉格朗日差值(Lagrange interpolation )

\(\text{Q:}\)找出一个\(\text{n}\)次多项式\(p_n(x)\),使得\(p_n(x_i)=y_i(i=1,2,...,n)\)

基函数

先从二阶多项式研究。

已知\(x_0,x_1,y_0,y_1\),求\(p_n(x)=a_0+a_1x\),使得\(p_n(x)\)过这两个点

显然可求得:

\[p_n(x)=y_0+\frac{y_1-y_0}{x_1-x_0}(x-x_0)=\frac{x-x_1}{x_0-x_1}y_0+\frac{x-x_0}{x_1-x_0}y_1 \]

\(\frac{x-x_1}{x_0-x_1}\)\(\frac{x-x_0}{x_1-x_0}\)即为\(\text{p(x)}\)的两个基函数

推广至\(n\)

\(p_n(x)\)均可化简为以下形式:

\[p_n(x)=l_0(x)y_0+l_1(x)y_1+......+l_n(x)y_n \]

要使得\(p_n(x_0)=y_0\)

则:

\[l_0(x_0)=1,l_1(x_i)=0(2\leq i \leq n) \]

故可得基函数表:

\(x\) \(x_0\) \(x_1\) \(...\) \(x_n\)
\(l_0(x)\) 1 0 \(...\) 0
\(l_1(x)\) 0 1 \(...\) 0
\(M\) \(M\) \(M\) \(M\) \(M\)
\(l_n(x)\) 0 0 \(...\) 1

从而,基函数一般形式为:

\[l_0(x)=\frac{(x-x_1)(x-x_2)...(x-x_n)}{(x_0-x_1)(x_0-x_2)...(x_0-x_n)}=\prod_{1\leq j \leq n}\frac{x-x_j}{x_0-x_j} \]

\[l_1(x)=\frac{(x-x_0)(x-x_2)...(x-x_n)}{(x_1-x_0)(x_1-x_2)...(x_1-x_n)}=\prod_{0\leq j \leq n ,j≠1}\frac{x-x_j}{x_1-x_j} \]

...

\[l_n(x)=\frac{(x-x_1)(x-x_2)...(x-x_{n-1})}{(x_n-x_0)(x_n-x_2)...(x_n-x_{n-1})}=\prod_{1\leq j \leq {n-1}}\frac{x-x_j}{x_n-x_j} \]

即:

\[l_k(x)=\prod_{j=0,j≠k}^{n}\frac{x-x_j}{x_k-x_j} \]

\[p_n(x)=\sum_{k=0}^{n}l_k(x)y_k \]

余项为:

\[R_n(x)=\frac{f^{(n+1)}( \epsilon )}{(n+1)!}\prod_{i=0}^{n}(x-x_i) \]

code:

function y=lagr1(x0,y0,x)
n=length(x0); m=length(x);
for i=1:m
   z=x(i);
   s=0.0;
   for k=1:n
      p=1.0;
      for j=1:n
         if j~=k
            p=p*(z-x0(j))/(x0(k)-x0(j));
         end
      end
      s=p*y0(k)+s;
   end
   y(i)=s;
end

posted @ 2022-01-07 13:07  SxtoxA  阅读(303)  评论(0)    收藏  举报
12 13