写在前面
前段时间学习了插值法,虽然当时跟着老师的步骤,将公式推导了出来,但是也还有一些问题没有解决,为了防止遗忘,我把它们都记录在这里,主要分为两部分:
1.知识结构梳理
2.重要公式推导
知识结构梳理
概念的引入
当函数\(f(x)\)很复杂的时候,用一个简单易算的函数\(p(x)\)近似,其中\(p(x)\)是用一系列节点和节点处的函数值构造出来的:
一个区间范围插入\(n+1\)个点 \(x_0,x_1...x_n\)得到\(n+1\)个函数值\(f(x_i)(i=0,1...n)\)
如果\(p(x)\)满足:\(p(x_i)=f(x_i)(i=0,1..n),\)则称\(p(x)\)为\(f(x)\)的\(n\)次插值函数,求\(p(x)\)的方法称为插值法
\(p(x)\)常为多项式
几个重要的插值法
拉格朗日插值
从一次插值开始,到二次插值,再推广至n次
均差与牛顿插值
样条插值
公式推导
拉格朗日插值:基函数法
- 一次插值:
两个插值节点:\((x_0,y_0),(x_1,y_1)\)用点斜式\(l(x)=y_0+\frac{y_1-y_0}{x_1-x_0}(x-x_0)\)
整理一下得到
\(l(x)=y_0\frac{x-x_1}{x_0-x_1}+y_1\frac{x-x_0}{x_1-x_0}\)
令\(l_0=\frac{x-x_1}{x_0-x_1}\quad l_1=\frac{x-x_0}{x_1-x_0}\)
将公式进一步简化:
\[l_1(x)= \sum_{i=0}^{1} {l_iy_i} \]
其中\(l_i\)就是所谓的基函数。
2.二次插值:和一次相同的方法得到
\[l_2(x)= \sum_{i=0}^{2} {l_iy_i} \]
对于其中基函数\(l_i\)的求法一开始反应不过来,看了PPT才恍然大悟 因为对于插值函数
肯定要满足:
\(l_2(x_j)=y_j (j=0,1,2)\)
将\(y_j\)的三个值分别代入,显然可以得到:
\(l_2(x_0)=y_0\)
\(l_2(x_1)=y_1\)
\(l_2(x_2)=y_2\)
可以看出在插值函数表达式中,只有和x下标相同的那项被保留了下来。由此可推出:
\(l_0(x_0)=1, l_0(x_1)=0, l_0(x_2)=0\)
\(l_1(x_0)=0, l_1(x_1)=1, l_1(x_2)=0\)
\(l_2(x_0)=0, l_2(x_1)=0, l_2(x_2)=1\)
满足上面这些条件,求基函数显然变简单了,例如求\(l_0\)可设$$l_0(x)=A_0(x-x_1)(x-x_2)$$将\(x_0\)代入这个式子,可以求出
\(A_0=\frac{1}{(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)}\)
同理可以求得\(l_1(x),l_2(x)\)
3.n次插值
这一部分已经不大记得清了,当时推导也花了近一节课,最终公式如下:
其中:
注意此公式的分子不含\((x-x_i)\)项
推导过程就不写了,也记不得了,回头再加上.....
2020.4.2更新 :
今天翻笔记本,发现了之前的推导笔记,喜出望外——不用再重新推导一遍了,特来更新一波~
对于n次插值基函数\(l_i\)的表达式,其实可以从一次,二次表达式中归纳出来,相信读者是和我一样想的,但是为了保持严谨,还是一步一步推导吧!
先补充说明一下,这里\(l_i(x_j)\)有个专门的叫法:拉氏基函数,满足条件:
显然每个\(l_i\)都有\(不含x_i的n\)个根:
可设
由\(l_i(x_i)=1\),得$$A_i=\frac{1}{\prod_{j≠i,j=0}^{n}(x_i-x_j)}$$
代入上面\(l_i\)的公式得:
现在已经推导出\(l_i\)的表达式了,把它代入插值函数
引入一个记号
不含(x-x_i)项,这里容易误解,明明是n个点,为什么\(\omega\)的下标是n+1?也许两者之间并无关联吧,
emmm...是笔者理解错误,后面求导时发现的,额...继续往下做,话说当老师讲到引入这个记号时,笔者心想大概就是要将\(L_n(x)\)的表达式转换成含\(\omega_{n+1}(x)\)的形式了,只是不知道有什么用...继续继续,第一步是对
\(\omega_{n+1}(x)\)求一阶导,根据求导的定义,分别对这n+1项求导,有:
显然\(\omega'_{n+1}(x)\)的这个式子有\(n+1\)项
好了,第二步:将\(x=x_i\)代入上式,所有含\((x-x_i)\)的项都化为0
原式化为:
可以看出只有对\((x-x_i)\)一项求导的留了下来。
从而推出
最终n次插值函数\(L_n(x)\)的表达式为:
推导完成!
写在最后
这篇文章花费了远超预计的时间,主要是用手机打latex公式太慢了,另外还有排板,好在总算完成了,数值分析有点复杂,但是只要努力就一定能学好,加油~