整理一下数值分析的笔记~
目录:

1. 误差
2. 多项式插值与样条插值(THIS)
3. 函数逼近
4. 数值积分与数值微分
5. 线性方程组的直接解法
6. 线性方程组的迭代解法
7. 非线性方程求根
8. 特征值和特征向量的计算
9. 常微分方程初值问题的数值解

1. 拉格朗日基函数

定义. 设lk(x)l_k(x)lk​(x)是n次多项式,在插值节点x0,x1,...,xnx_0,x_1,...,x_nx0​,x1​,...,xn​上满足:

lk(xj)={1,j=k0,j≠kl_k(x_j)=\begin{cases} 1,&j=k\\ 0,&j \neq k \end{cases} lk​(xj​)={1,0,​j=kj̸​=k​

则称lk(x)l_k(x)lk​(x)为节点x0,x1,...,xnx_0,x_1,...,x_nx0​,x1​,...,xn​上的拉格朗日插值基函数。

n=1 →\rarr→ 线性插值

问题定义:给定区间[xk,xk+1][x_k,x_{k+1}][xk​,xk+1​]及端点函数值:yk=f(xk),yk+1=f(xk+1)y_k=f(x_k),y_{k+1}=f(x_{k+1})yk​=f(xk​),yk+1​=f(xk+1​),求线性插值多项式L1(x)L_1(x)L1​(x),使其满足L1(xk)=yk,L1(xk+1)=yk+1L_1(x_k)=y_k,L_1(x_{k+1})=y_{k+1}L1​(xk​)=yk​,L1​(xk+1​)=yk+1​。

不难看出几何上就是通过两点的直线,两点式有:L1(x)=xk+1−xxk+1−xkyk+x−xkxk+1−xkyk+1L_1(x)=\frac{x_{k+1}-x}{x_{k+1}-x_k}y_k+\frac{x-x_k}{x_{k+1}-x_k}y_{k+1}L1​(x)=xk+1​−xk​xk+1​−x​yk​+xk+1​−xk​x−xk​​yk+1​

即L1(x)L_1(x)L1​(x)是两个线性函数lk(x)=xk+1−xxk+1−xk,lk+1(x)=x−xkxk+1−xkl_k(x)=\frac{x_{k+1}-x}{x_{k+1}-x_k},l_{k+1}(x)=\frac{x-x_k}{x_{k+1}-x_k}lk​(x)=xk+1​−xk​xk+1​−x​,lk+1​(x)=xk+1​−xk​x−xk​​

的线性组合,系数分别是yk和yk+1y_k和y_{k+1}yk​和yk+1​,即:

L1(x)=yklk(x)+yk+1lk+1(x)L_1(x)=y_kl_k(x)+y_{k+1}l_{k+1}(x) L1​(x)=yk​lk​(x)+yk+1​lk+1​(x)

显然:

lk(xk)=1,lk(xk+1)=0lk+1(xk)=0,lk+1(xk+1)=1l_k(x_k)=1,l_k(x_{k+1})=0\\ l_{k+1}(x_k)=0,l_{k+1}(x_{k+1})=1 lk​(xk​)=1,lk​(xk+1​)=0lk+1​(xk​)=0,lk+1​(xk+1​)=1

称lk(x)和lk+1(x)l_k(x)和l_{k+1}(x)lk​(x)和lk+1​(x)为线性插值基函数

n=2 →\rarr→ 抛物插值

同理,假定插值节点为xk−1,xk,xk+1x_{k-1},x_k,x_{k+1}xk−1​,xk​,xk+1​,求二次插值多项式L2(x)L_2(x)L2​(x)使其满足L2(xj)=yj,(j=k−1,k,k+1)L_2(x_j)=y_j,(j=k-1,k,k+1)L2​(xj​)=yj​,(j=k−1,k,k+1),几何上其为通过三点(xk−1,yk−1),(xk,yk),(xk+1,yk+1)(x_{k-1},y_{k-1}),(x_k,y_k),(x_{k+1},y_{k+1})(xk−1​,yk−1​),(xk​,yk​),(xk+1​,yk+1​)的抛物线,用基函数的方法求L2(x)L_2(x)L2​(x)的表达式,此时基函数lk−1(x),lk(x),lk+1(x)l_{k-1}(x),l_k(x),l_{k+1}(x)lk−1​(x),lk​(x),lk+1​(x)是二次函数,且在节点上满足条件:

lk−1(xk−1)=1,lk−1(xk)=0,lk−1(xk+1)=0lk(xk−1)=0,lk(xk)=1,lk(xk+1)=0lk+1(xk−1)=0,lk+1(xk)=0,lk+1(xk+1)=1l_{k-1}(x_{k-1})=1,l_{k-1}(x_{k})=0,l_{k-1}(x_{k+1})=0\\ l_k(x_{k-1})=0,l_k(x_k)=1,l_k(x_{k+1})=0\\ l_{k+1}(x_{k-1})=0,l_{k+1}(x_k)=0,l_{k+1}(x_{k+1})=1 lk−1​(xk−1​)=1,lk−1​(xk​)=0,lk−1​(xk+1​)=0lk​(xk−1​)=0,lk​(xk​)=1,lk​(xk+1​)=0lk+1​(xk−1​)=0,lk+1​(xk​)=0,lk+1​(xk+1​)=1

以lkl_{k}lk​为例,由上面的式子可以知道它有两个零点xk−1,xk+1x_{k-1},x_{k+1}xk−1​,xk+1​,有lk(x)=A(x−xk−1)(x−xk+1)l_k(x)=A(x-x_{k-1})(x-x_{k+1})lk​(x)=A(x−xk−1​)(x−xk+1​),其中A为待定系数,根据lk(xk)=1l_{k}(x_{k})=1lk​(xk​)=1定出:

A=1(xk−xk−1)(xk−xk+1)A=\frac{1}{(x_k-x_{k-1})(x_k-x_{k+1})} A=(xk​−xk−1​)(xk​−xk+1​)1​

于是有:

lk(x)=(x−xk−1)(x−xk+1)(xk−xk−1)(xk−xk+1)l_k(x)=\frac{(x-x_{k-1})(x-x_{k+1})}{(x_k-x_{k-1})(x_k-x_{k+1})} lk​(x)=(xk​−xk−1​)(xk​−xk+1​)(x−xk−1​)(x−xk+1​)​

同理:

lk−1(x)=(x−xk)(x−xk+1)(xk−1−xk)(xk−1−xk+1)lk+1(x)=(x−xk−1)(x−xk)(xk+1−xk−1)(xk+1−xk)l_{k-1}(x)=\frac{(x-x_{k})(x-x_{k+1})}{(x_{k-1}-x_k)(x_{k-1}-x_{k+1})}\\ l_{k+1}(x)=\frac{(x-x_{k-1})(x-x_{k})}{(x_{k+1}-x_{k-1})(x_{k+1}-x_{k})} lk−1​(x)=(xk−1​−xk​)(xk−1​−xk+1​)(x−xk​)(x−xk+1​)​lk+1​(x)=(xk+1​−xk−1​)(xk+1​−xk​)(x−xk−1​)(x−xk​)​

可得二次插值多项式:

L2(x)=yk−1lk−1(x)+yklk(x)+yk+1lk+1(x)L_2(x)=y_{k-1}l_{k-1}(x)+y_{k}l_{k}(x)+y_{k+1}l_{k+1}(x) L2​(x)=yk−1​lk−1​(x)+yk​lk​(x)+yk+1​lk+1​(x)

2. 拉格朗日插值多项式

推广至一般情形,构造通过n+1个节点的n次插值多项式Ln(x)L_n(x)Ln​(x).根据插值定义有:Ln(xj)=yj,(j=0,1,...,n)L_n(x_j)=y_j,(j=0,1,...,n)Ln​(xj​)=yj​,(j=0,1,...,n)。为此先定义n次插值基函数:

定义1 若n次多项式Lj(x)(j=0,1,2,...,n)L_j(x)(j=0,1,2,...,n)Lj​(x)(j=0,1,2,...,n)在n+1个节点x0&lt;x1&lt;...&lt;xnx_0&lt;x_1&lt;...&lt;x_nx0​<x1​<...<xn​上满足条件:

lk(xj)={1,j=k0,j≠k,(j,k=0,1,...,n)l_k(x_j)=\begin{cases} 1,&amp;j=k\\ 0,&amp;j \neq k \end{cases},(j,k=0,1,...,n) lk​(xj​)={1,0,​j=kj̸​=k​,(j,k=0,1,...,n)

就称这n+1个n次多项式l0(x),l1(x),...,ln(x)l_0(x),l_1(x),...,l_n(x)l0​(x),l1​(x),...,ln​(x)为节点x0,x1,...,xnx_0,x_1,...,x_nx0​,x1​,...,xn​上的n次插值基函数,类似地:

lk(x)=(x−x0)...(x−xk−1)(x−xk+1)...(x−xn)(xk−x0)...(xk−xk−1)(xk−xk+1)...(xk−xn)l_k(x)=\frac{(x-x_0)...(x-x_{k-1})(x-x_{k+1})...(x-x_n)}{(x_k-x_0)...(x_k-x_{k-1})(x_k-x_{k+1})...(x_k-x_n)} lk​(x)=(xk​−x0​)...(xk​−xk−1​)(xk​−xk+1​)...(xk​−xn​)(x−x0​)...(x−xk−1​)(x−xk+1​)...(x−xn​)​

由此可得插值多项式:

Ln(x)=∑k=0nyklk(x)L_n(x)=\sum^n_{k=0}y_kl_k(x) Ln​(x)=k=0∑n​yk​lk​(x)

称为拉格朗日插值多项式。为了方便表示,引入记号:

ωn+1=(x−x0)(x−x1)...(x−xn)且有ωn+1′(xk)=(xk−x0)...(xk−xk−1)(xk−xk+1)...(xk−xn)\omega_{n+1}=(x-x_0)(x-x_1)...(x-x_n)\\ 且有\omega'_{n+1}(x_k)=(x_k-x_0)...(x_k-x_{k-1})(x_k-x_{k+1})...(x_k-x_n) ωn+1​=(x−x0​)(x−x1​)...(x−xn​)且有ωn+1′​(xk​)=(xk​−x0​)...(xk​−xk−1​)(xk​−xk+1​)...(xk​−xn​)

则拉格朗日插值多项式可以写为:

Ln(x)=∑k=0nωn+1(x)(x−xk)ωn+1′(xk)L_n(x)=\sum^n_{k=0}\frac{\omega_{n+1}(x)}{(x-x_k)\omega'_{n+1}(x_k)} Ln​(x)=k=0∑n​(x−xk​)ωn+1′​(xk​)ωn+1​(x)​

关于插值多项式存在惟一性有一个定理:

定理1 在次数不超过n的多项式集合 HnH_nHn​中,满足Ln(xj)=yj,(j=0,1,...,n)L_n(x_j)=y_j,(j=0,1,...,n)Ln​(xj​)=yj​,(j=0,1,...,n)的插值多项式Ln(x)∈HnL_n(x)\in H_nLn​(x)∈Hn​存在且惟一。

惟一性证明:假定另有P(x)∈Hn使得P(xj)=f(xj),i=0,1,...,nP(x) \in H_n使得P(x_j)=f(x_j),i=0,1,...,nP(x)∈Hn​使得P(xj​)=f(xj​),i=0,1,...,n成立,于是有Ln(xi)−P(xi)=0对i=0,1,2...,nL_n(x_i)-P(x_i)=0对i=0,1,2...,nLn​(xi​)−P(xi​)=0对i=0,1,2...,n成立,表明多项式Ln(xi)−P(xi)∈HnL_n(x_i)-P(x_i) \in H_nLn​(xi​)−P(xi​)∈Hn​有n+1个零点,这与n次多项式只有n个零点的基本定理矛盾。

eg,已知f(144)=12,f(169)=13,f(225)=15,作f(x)二次Lagrange插值多项式并求f(175)1的近似值。

解:x0=144,x1=169,x2=225,y0=12,y1=13,y2=15x_0=144,x_1=169,x_2=225,y_0=12,y_1=13,y_2=15x0​=144,x1​=169,x2​=225,y0​=12,y1​=13,y2​=15,则f(x)的二次Lagrange插值基函数为:

l0(x)=(x−x1)(x−x2)(x0−x1)(x0−x2)=(x−169)(x−225)(144−169)(144−225)l1(x)=(x−x0)(x−x2)(x1−x0)(x1−x2)=(x−144)(x−225)(169−144))(169−225)l2(x)=(x−x0)(x−x1)(x2−x0)(x2−x1)=(x−144)(x−169)(225−144)(225−169)l_0(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}=\frac{(x-169)(x-225)}{(144-169)(144-225)}\\ l_1(x)=\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}=\frac{(x-144)(x-225)}{(169-144))(169-225)}\\ l_2(x)=\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}=\frac{(x-144)(x-169)}{(225-144)(225-169)} l0​(x)=(x0​−x1​)(x0​−x2​)(x−x1​)(x−x2​)​=(144−169)(144−225)(x−169)(x−225)​l1​(x)=(x1​−x0​)(x1​−x2​)(x−x0​)(x−x2​)​=(169−144))(169−225)(x−144)(x−225)​l2​(x)=(x2​−x0​)(x2​−x1​)(x−x0​)(x−x1​)​=(225−144)(225−169)(x−144)(x−169)​

因此f(x)的二次Lagrange插值多项式为:

L2(x)=y0l0(x)+y1l1(x)+y2l2(x)L_2(x)=y_0l_0(x)+y_1l_1(x)+y_2l_2(x) L2​(x)=y0​l0​(x)+y1​l1​(x)+y2​l2​(x)

知f(175)≈12l0175+13l1(175)+15l2(175)=13.23015873f(175) \approx 12l_0{175}+13l_1(175)+15l_2(175)=13.23015873f(175)≈12l0​175+13l1​(175)+15l2​(175)=13.23015873

3. 插值余项和误差估计

在[a,b]上用Ln(x)L_n(x)Ln​(x)近似f(x),则其截断误差Rn(x)=f(x)−Ln(x)R_n(x)=f(x)-L_n(x)Rn​(x)=f(x)−Ln​(x),也称为插值多项式的余项,若f(x)的n阶导数连续,n+1阶导数存在,则:

Rn(x)=f(x)−Ln(x)=f(n+1)(ξ)(n+1)!ωn+1(x),其中ξ∈(a,b)且依赖于xR_n(x)=f(x)-L_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\omega_{n+1}(x),其中\xi \in (a,b)且依赖于x Rn​(x)=f(x)−Ln​(x)=(n+1)!f(n+1)(ξ)​ωn+1​(x),其中ξ∈(a,b)且依赖于x

通常情况下ξ\xiξ在(a,b)上具体位置未知,若可以求出maxa&lt;x&lt;b∣f(n+1)(x)∣=Mn+1max_{a&lt;x&lt;b}|f^{(n+1)}(x)|=M_{n+1}maxa<x<b​∣f(n+1)(x)∣=Mn+1​,则Rn(x)≤Mn+1(n+1)!∣ωn+1(x)∣R_n(x) \leq \frac{M_{n+1}}{(n+1)!}|\omega_{n+1}(x)|Rn​(x)≤(n+1)!Mn+1​​∣ωn+1​(x)∣。

Lagrange插值多项式的缺点:

  • 插值基函数计算复杂

  • 当增加一个新点时需重新计算

  • 插值多项式从n次增加到n+1次需重新计算

  • 插值曲线在节点处有尖点,不光滑,节点处不可导

  • 高次插值的精度不一定高


{持续更新}
欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

数值分析(2)-多项式插值: 拉格朗日插值法相关推荐

  1. 数值计算之 插值法(1)多项式插值——拉格朗日插值法

    数值计算之 插值法(1)多项式插值--拉格朗日插值法 前言 什么是插值 多项式插值法 拉格朗日插值法 总结 前言 移动机器人有一个非常重要的任务,轨迹规划.轨迹规划需要满足运动学原理,即在路径规划给出 ...

  2. 拉格朗日插值 java_插值-拉格朗日插值法

    朗格朗日插值法的定义 原理 一般地,若已知[ ]在互不相同 n+1 个点[ ]处的函数值[ ]( 即该函数过[ ] 这n+1个点),则可以考虑构造一个过这n+1 个点的.次数不超过n的多项式[ ] , ...

  3. 解决龙格现象matlab,matlab实现Lagrange多项式插值观察龙格现象

    Matlab进行Lagrange多项式插值 拉格朗日插值法对函数y=1./(1+25*x.^2)在区间[-1,1]进行5次.10次.15次插值观察龙格现象 主程序 1.拉格朗日 function [c ...

  4. 机器学习数据预处理之缺失值:插值法填充+多项式插值

    机器学习数据预处理之缺失值:插值法填充+多项式插值 garbage in, garbage out. 没有高质量的数据,就没有高质量的数据挖掘结果,数据值缺失是数据分析中经常遇到的问题之一.当缺失比例 ...

  5. 轨迹规划当中用到的多项式插值和样条曲线

    机器人之路漫漫兮.要想要得到成绩还需要付出许多的努力. 轨迹规划 轨迹规划可以这么分类: 1.笛卡尔空间规划 位置规划:直线插补.圆弧插补.NURBS自由曲线插补 姿态规划:四元数.slerp 2.关 ...

  6. 拉格朗日插值法求多项式系数 (附代码)

    写在前面: 学了拉格朗日插值法之后发现大家都说可以在O(n^2)时间内得到多项式系数,但是没有找到代码,网上找了很多资料又因为我太弱了没能看懂,最后在emofunx学长的帮助下终于搞明白了. 由于太弱 ...

  7. 机器学习数据预处理之缺失值:插值法填充+ lagrange插值+拉格朗日插值

    机器学习数据预处理之缺失值:插值法填充+ lagrange插值+拉格朗日插值 garbage in, garbage out. 没有高质量的数据,就没有高质量的数据挖掘结果,数据值缺失是数据分析中经常 ...

  8. 数学建模准备 插值(拉格朗日多项式插值,牛顿多项式插值,分段线性插值,分段三次样条插值,分段三次Hermite插值)

    文章目录 摘要(必看) 0 基础概念 什么是插值 插值用途 什么是拟合 插值和拟合的相同点 插值和拟合的不同点 1 常用的基本插值方法 1.1 多项式插值法 1.1.1 拉格朗日多项式插值法 多项式插 ...

  9. 【数值分析】拉格朗日插值法与牛顿插值法的C++实现

    数值分析--拉格朗日插值法与牛顿插值法的C++实现 文章目录 数值分析--拉格朗日插值法与牛顿插值法的C++实现 一.插值法 1.1 插值法定义 1.2 插值多项式唯一性定理 二.拉格朗日(Lagra ...

  10. 拉格朗日插值的优缺点_拉格朗日插值法(图文详解)

    对某个多项式函数,已知有给定的k + 1个取值点: 其中 对应着自变量的位置,而 对应着函数在这个位置的取值. 假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为: ...

最新文章

  1. vs调用matlab复杂,关于VS调用matlab的问题,求教大神
  2. Linux 播号上网
  3. 设计模式学习笔记(二十二:备忘录模式)
  4. unity 模型销毁_Unity3D常用 API 之实例化与销毁
  5. springcloud ribbon @LoadBalance负载均衡源码流程分析
  6. 系统的MAC地址修改
  7. Centos7安装配置Xhgui
  8. 直播预告 | AAAI 2022论文解读:对称的语义感知的妆容迁移与移除网络
  9. div 设置a4大小_如何在A4纸张尺寸页面制作HTML页面?
  10. 2016年下半年勒索软件数量翻倍
  11. Android中Service的使用
  12. redis专题:redis的常用数据结构及使用场景
  13. github 443问题
  14. python 百度cpc点击
  15. windows7计算机用户账户,浅析win7旗舰版系统中三种系统用户账户的特点
  16. android+隐藏邮件地址,“通过 Apple 登录”功能的“隐藏邮件地址”
  17. LWIP源码分析——ip4.c
  18. 2021年跨境品牌集体出海,2020年跨境电商数据报告分享
  19. 淘宝客网站为什么会被腾讯拦截
  20. 【课程作业】Pygame游戏开发之三个小游戏 容易简单 附项目代码和游戏介绍

热门文章

  1. Learning a Discriminative Feature Network for Semantic Segmentation(语义分割DFN,区别特征网络)...
  2. ES6学习之Promise
  3. ORACLE设置自动递增的方法
  4. 利用 filter 机制 给 静态资源 url 加上时间戳,来防止js和css文件的缓存,利于开发调试...
  5. error LNK2019: unresolved external symbol __imp__JNI_CreateJavaVM@12 referenced in function _wmaim
  6. 第二十三模板 1什么是模板
  7. 11-11 11:11
  8. ElasticSearch常用API操作示例
  9. 经典排序算法(十七)--计数排序Counting Sort
  10. 记录下Visual Studio中的快捷键