拉格朗日插值法的推导

1、插值的基本定义
  设函数 y = f ( x ) y=f(x) y=f(x)在区间 [ a , b ] [a,b] [a,b]上有定义,且已知它在 n + 1 n+1 n+1个互异点 a ≤ x 0 < x 1 < . . . < x n ≤ b a\leq x_0<x_1<...<x_n\leq b ax0<x1<...<xnb上的函数值 y 0 , y 1 , . . . , y n y_0,y_1,...,y_n y0,y1,...,yn,若存在一个简单函数 p ( x ) p(x) p(x),使得
p ( x i ) = y i , i = 0 , 1 , 2 , . . , n p(x_i)=y_i,i=0,1,2,..,n p(xi)=yi,i=0,1,2,..,n
  成立,则称 p ( x ) p(x) p(x) f ( x ) f(x) f(x)插值函数。显然,除上述已知 n + 1 n+1 n+1个互异点外,在其他位置上,插值函数 p ( x ) p(x) p(x)和原函数 f ( x ) f(x) f(x)之间并没有明确关系,所以插值总是有误差的。不过,若对原函数和插值函数增加一定的约束,则可能使两者保持一致。下面讨论代数插值情况。
  设 p ( x ) p(x) p(x)是次数不超过 n n n的代数多项式,即
p ( x ) = a n x n + a n − 1 x n − 1 + . . . + a 1 x + a 0 (1) p(x)=a_n x^n+a_{n-1}x^{n-1}+...+a_1 x+a_0 \tag{1} p(x)=anxn+an1xn1+...+a1x+a0(1)
该函数满足 p ( x i ) = y i p(x_i)=y_i p(xi)=yi,则称 p ( x ) p(x) p(x)为原函数 f ( x ) f(x) f(x) n n n次代数插值多项式。该种插值称为代数插值,代数插值的几何意义,其实就是找一条过上述 n + 1 n+1 n+1个互异点的 n n n次代数曲线来近似表示曲线 f ( x ) f(x) f(x)
  可以证明,上述 n n n次插值函数有且只有一个。显然,将 p ( x i ) = y i p(x_i)=y_i p(xi)=yi的条件代入(1)式,得到下面的 n + 1 n+1 n+1阶线性方程组
{ a 0 + a 1 x 0 + a 2 x 0 2 + . . . + a n x 0 n = y 0 a 0 + a 1 x 1 + a 2 x 1 2 + . . . + a n x 1 n = y 1 ⋮ a 0 + a 1 x n + a 2 x n 2 + . . . + a n x n n = y n → [ 1 x 0 . . . x 0 n 1 x 1 . . . x 1 n ⋮ ⋮ . . . ⋮ 1 x n . . . x n n ] [ a 0 a 1 ⋮ a n ] = [ y 0 y 1 ⋮ y n ] \left\{\begin{matrix} a_0+a_1 x_0+a_2 x_0^2+...+a_nx_0^n=y_0 \\ a_0+a_1 x_1+a_2 x_1^2+...+a_nx_1^n=y_1 \\ \vdots \\ a_0+a_1 x_n+a_2 x_n^2+...+a_nx_n^n=y_n \\ \end{matrix}\right. \rightarrow \left[ \begin{matrix} 1 & x_0 & ... & x_0^n \\ 1 & x_1 & ... & x_1^n \\ \vdots & \vdots & ... & \vdots \\ 1 & x_n & ... & x_n^n \\ \end{matrix}\right] \left[ \begin{matrix} a_0 \\ a_1 \\ \vdots \\ a^n \\ \end{matrix}\right] = \left[ \begin{matrix} y_0 \\ y_1 \\ \vdots \\ y^n \\ \end{matrix}\right] a0+a1x0+a2x02+...+anx0n=y0a0+a1x1+a2x12+...+anx1n=y1a0+a1xn+a2xn2+...+anxnn=yn 111x0x1xn............x0nx1nxnn a0a1an = y0y1yn
  显然,该线性方程组的行列式为
∣ 1 x 0 . . . x 0 n 1 x 1 . . . x 1 n ⋮ ⋮ . . . ⋮ 1 x n . . . x n n ∣ = ∏ i = 1 n ∏ j = 0 i − 1 ( x i − x j ) \begin{vmatrix} 1 & x_0 & ... & x_0^n \\ 1 & x_1 & ... & x_1^n \\ \vdots & \vdots & ... & \vdots \\ 1 & x_n & ... & x_n^n \\ \end{vmatrix} = \prod_{i=1}^n \prod_{j=0}^{i-1}(x_i-x_j) 111x0x1xn............x0nx1nxnn =i=1nj=0i1(xixj)
 显然,由于 x i x_i xi互不相同,所以上式不为0,所以方程系数 a 0 , . . . , a n a_0,...,a_n a0,...,an可被唯一确,即该插值多项式有且只有一个。
  插值问题的关键是求解插值多项式,显然利用上述线性方程组,可直接求得多项式系数的最小二乘解。但计算过程涉及矩阵求逆,计算量较大,后面将探究新的计算方法。

2、拉格朗日插值法

2.1、线性插值情况
  我们从一次多项式开始逐步推导。此时有 p ( x i ) = y i , ( i = 0 , 1 ) p(x_i)=y_i,(i=0,1) p(xi)=yi,(i=0,1),显然,可过这两个点作一条直线,目的是用直线 p ( x ) p(x) p(x)来近似表示原函数 f ( x ) f(x) f(x),这种插值称为线性插值。该直线的两点式方程可表示为
p ( x ) = y 0 x − x 1 x 0 − x 1 + y 1 x − x 0 x 1 − x 0 = l 0 ( x ) y 0 + l 1 ( x ) y 1 = ∑ k = 0 1 l k ( x ) y k p(x)=y_0 \frac{x-x_1}{x_0-x_1}+y_1 \frac{x-x_0}{x_1-x_0}=l_0(x)y_0+l_1(x)y_1=\sum_{k=0}^1 l_k(x)y_k p(x)=y0x0x1xx1+y1x1x0xx0=l0(x)y0+l1(x)y1=k=01lk(x)yk
  其中, l 0 ( x ) = x − x 1 x 0 − x 1 l_0(x)=\frac{x-x_1}{x_0-x_1} l0(x)=x0x1xx1称为点 x 0 x_0 x0的一次插值基函数, l 1 ( x ) = x − x 0 x 1 − x 0 l_1(x)=\frac{x-x_0}{x_1-x_0} l1(x)=x1x0xx0称为点 x 1 x_1 x1的一次插值基函数, 显然 p ( x ) p(x) p(x) l 0 ( x ) l_0(x) l0(x) l 1 ( x ) l_1(x) l1(x)的线性组合。另外,上述插值基函数满足
l j ( x i ) = δ i j = { 1 , i = j 0 , i ≠ j (2) l_j(x_i)=\delta_{ij}=\left\{\begin{matrix} 1,i=j \\ 0,i\neq j \end{matrix}\right. \tag{2} lj(xi)=δij={1,i=j0,i=j(2)
在这里插入图片描述

图1. 线性插值示意图

2.2、二次插值情况
  此时已知 f ( x ) f(x) f(x)上面三个互异点 ( x i , y i ) , i = 0 , 1 , 2 (x_i,y_i),i=0,1,2 (xi,yi),i=0,1,2,要求构造一个不超过2次的代数多项式 p ( x ) = a x 2 + b x + c p(x)=ax^2+bx+c p(x)=ax2+bx+c,满足 p ( x i ) = y i , ( i = 0 , 1 , 2 ) p(x_i)=y_i,(i=0,1,2) p(xi)=yi,(i=0,1,2)。为便于求解,我们可将 p ( x ) p(x) p(x)重新整理为 p ( x ) = A ( x − x 1 ) ( x − x 2 ) + B ( x − x 0 ) ( x − x 2 ) + C ( x − x 0 ) ( x − x 1 ) p(x)=A(x-x_1)(x-x_2)+B(x-x_0)(x-x_2)+C(x-x_0)(x-x_1) p(x)=A(xx1)(xx2)+B(xx0)(xx2)+C(xx0)(xx1),将三个已知点坐标代入,可求得
A = y 0 ( x 0 − x 1 ) ( x 0 − x 2 ) B = y 1 ( x 1 − x 0 ) ( x 1 − x 2 ) C = y 2 ( x 2 − x 0 ) ( x 2 − x 1 ) A=\frac{y_0}{(x_0-x_1)(x_0-x_2)}\\ B=\frac{y_1}{(x_1-x_0)(x_1-x_2)}\\ C=\frac{y_2}{(x_2-x_0)(x_2-x_1)} A=(x0x1)(x0x2)y0B=(x1x0)(x1x2)y1C=(x2x0)(x2x1)y2
此时可得到插值函数为
p ( x ) = ( x − x 1 ) ( x − x 2 ) ( x 0 − x 1 ) ( x 0 − x 2 ) y 0 + ( x − x 0 ) ( x − x 2 ) ( x 1 − x 0 ) ( x 1 − x 2 ) y 1 + ( x − x 0 ) ( x − x 1 ) ( x 2 − x 0 ) ( x 2 − x 1 ) y 2 = l 0 ( x ) y 0 + l 1 ( x ) y 1 + l 2 ( x ) y 2 = ∑ j = 0 2 l j ( x ) y j p(x)=\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}y_0+\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}y_1+\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}y_2\\ =l_0(x)y_0+l_1(x)y_1+l_2(x)y_2=\sum_{j=0}^2 l_j(x)y_j p(x)=(x0x1)(x0x2)(xx1)(xx2)y0+(x1x0)(x1x2)(xx0)(xx2)y1+(x2x0)(x2x1)(xx0)(xx1)y2=l0(x)y0+l1(x)y1+l2(x)y2=j=02lj(x)yj
其中, l j ( x ) = ∏ i = 0 , i ≠ j 2 x − x i x j − x i l_j(x)=\prod_{i=0,i\neq j}^2 \frac{x-x_i}{x_j-x_i} lj(x)=i=0,i=j2xjxixxi,显然 l j ( x ) l_j(x) lj(x)同样具有(2)式所示的性质。该插值称为二次插值或抛物线插值。

2.3、n次插值情况
  此时,仿照二次插值的构造方法,令
p ( x ) = l 0 ( x ) y 0 + . . . + l n ( x ) y n = ∑ j = 0 n l j ( x ) y j p(x)=l_0(x)y_0+...+l_n(x)y_n=\sum_{j=0}^n l_j(x)y_j p(x)=l0(x)y0+...+ln(x)yn=j=0nlj(x)yj
其中, l j ( x ) l_j(x) lj(x) n n n次多项式,称为插值基函数,它满足条件
l j ( x i ) = δ i j = { 1 , i = j 0 , i ≠ j , ( i , j = 0 , 1 , . . . , n ) (2) l_j(x_i)=\delta_{ij}=\left\{\begin{matrix} 1,i=j \\ 0,i\neq j \end{matrix}\right. ,(i,j=0,1,...,n) \tag{2} lj(xi)=δij={1,i=j0,i=j(i,j=0,1,...,n)(2)
  显然,此时问题归结为构造满足条件的 n n n次多项式 l j ( x ) l_j(x) lj(x)。事实上,由 l j ( x ) = 0 , i ≠ j l_j(x)=0,i\neq j lj(x)=0,i=j,知道 x 0 , x 1 , . . . , x j − 1 , x j + 1 , . . . , x n x_0,x_1,...,x_{j-1},x_{j+1},...,x_n x0,x1,...,xj1,xj+1,...,xn都是 l j ( x ) l_j(x) lj(x)的零点,所以可设 l j ( x ) = A ( x − x 0 ) ( x − x 1 ) . . . . ( x − x j − 1 ) ( x − x j + 1 ) . . . ( x − x n ) l_j(x)=A(x-x_0)(x-x_1)....(x-x_{j-1})(x-x_{j+1})...(x-x_n) lj(x)=A(xx0)(xx1)....(xxj1)(xxj+1)...(xxn)。其中, A A A为待定系数,由条件 l j ( x j ) = 1 l_j(x_j)=1 lj(xj)=1,可确定 A = 1 ( x j − x 0 ) ( x j − x 1 ) . . . ( x j − x j − 1 ) ( x j − x j + 1 ) . . . ( x j − x n ) A=\frac{1}{(x_j-x_0)(x_j-x_1)...(x_j-x_{j-1})(x_j-x_{j+1})...(x_j-x_n)} A=(xjx0)(xjx1)...(xjxj1)(xjxj+1)...(xjxn)1,所以
l j ( x ) = ( x − x 0 ) . . . ( x − x j − 1 ) ( x − x j + 1 ) . . . ( x − x n ) ( x j − x 0 ) . . . ( x j − x j − 1 ) ( x j − x j + 1 ) . . . ( x j − x n ) = ∏ i = 0 , i ≠ j n x − x i x j − x i l_j(x)=\frac{(x-x_0)...(x-x_{j-1})(x-x_{j+1})...(x-x_n)}{(x_j-x_0)...(x_j-x_{j-1})(x_j-x_{j+1})...(x_j-x_n)}=\prod_{i=0,i\neq j}^n \frac{x-x_i}{x_j-x_i} lj(x)=(xjx0)...(xjxj1)(xjxj+1)...(xjxn)(xx0)...(xxj1)(xxj+1)...(xxn)=i=0,i=jnxjxixxi
  由此可得
p ( x ) = ∑ j = 0 n l j ( x ) y j = ∑ j = 0 n y j ( ∏ i = 0 , i ≠ j n x − x i x j − x i ) (3) p(x)=\sum_{j=0}^n l_j(x)y_j=\sum_{j=0}^n y_j(\prod_{i=0,i\neq j}^n \frac{x-x_i}{x_j-x_i})\tag{3} p(x)=j=0nlj(x)yj=j=0nyj(i=0,i=jnxjxixxi)(3)
我们称形如(3)式的插值公式为拉格朗日插值。

未完待续。。。。
未完待续。。。。
未完待续。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/18546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity脚本】Unity中如何按类型查找游戏对象(GameObject)

【知识链】Unity -> 脚本系统 -> 访问游戏对象 -> 按类型访问游戏对象摘要&#xff1a;本文介绍了Unity中按类型查找游戏对象&#xff08;GameObject&#xff09;的五种方法&#xff0c;并提出了使用这些方法的最佳实践。 本文目录 一、访问游戏对象的方法二、如何按…

【个人博客搭建】(20)获取操作用户信息(IHttpContextAccessor)

IHttpContextAccessor在ASP.NET Core中扮演着至关重要的角色。它为开发者提供了一种方便的方式来访问和操作HttpContext对象&#xff0c;从而允许在整个应用程序中轻松地管理和使用HTTP请求和响应的相关信息。下面将深入探讨IHttpContextAccessor的作用、使用方法以及如何通过它…

[ue5]建模场景学习笔记(1)——混合材质

卷首&#xff1a;这部分会记录建模场景等相关学习内容&#xff0c;与ue引擎学习笔记不同的是&#xff0c;可能会略过一些基础内容&#xff0c;因为部分知识在blender中已经学习过了&#xff0c;不再继续记录。 1.需求分析&#xff1a; 想构建一个山地的场景&#xff0c;在ue5中…

解读vue3源码-1

提示&#xff1a;看到我 请让滚去学习 vue3渲染流程 文章目录 vue3渲染流程vue3的3个核心&#xff1a;1.响应式模块(Reactivity Module)--创建响应式数据2.编译模块(Compiler Module)--模版编译器将html转换为一个渲染函数3.渲染模块(Renderer Module) 渲染流程&#xff1a;1.首…

python办公自动化——(二)替换PPT文档中图形数据-柱图

效果: 数据替换前 &#xff1a; 替换数据后&#xff1a; 实现代码 import collections.abc from pptx import Presentation from pptx.util import Cm,Pt import pyodbc import pandas as pd from pptx.chart.data impo…

广东海上丝绸之路文化促进会正式批复荐世界酒中国菜的指导单位

广东海上丝绸之路文化促进会正式批复成为“世界酒中国菜”系列活动指导单位 近日&#xff0c;广东海上丝绸之路文化促进会近日正式批复荐酒师国际认证&#xff08;广州&#xff09;有限公司&#xff0c;成为备受瞩目的“世界酒中国菜”系列活动的指导单位。此举旨在通过双方的…

IDEA中各种Maven相关问题(文件飘红、下载依赖和启动报错)

错误情况 包名、类名显示红色、红色波浪线&#xff0c;大量依赖提示不存在&#xff08;程序包xxx不存在&#xff09; 工程无法启动 一、前提条件 1、使用英文原版IDEA 汉化版的可能有各种奇怪的问题。建议用IDEA英文版&#xff0c;卸载重装。 2、下载maven&#xff0c;配置环…

2024HW|常见红队使用工具

目录 什么是HW&#xff1f; 什么是网络安全红蓝对抗&#xff1f; 红队 常见工具 信息收集工具 Nmap 简介 漏洞扫描工具 Nessus简介 AWVS 简介 抓包工具 Wireshark简介 TangGo 简介 web 应用安全工具 Burpsuite 简介 SQLMap webshell 管理工具 蚁剑 冰蝎 后…

《PNAS》和《Nature Communications》仿章鱼和蜗牛的粘液真空吸附,赋予了机器人吸盘新的“超能力”

想象一下&#xff0c;如果机器人能够像章鱼一样牢牢吸附在粗糙崎岖的岩石上&#xff0c;或者像蜗牛那样在墙面上悠然负重爬行&#xff0c;那会是多么神奇的一幕&#xff01;近日&#xff0c;布里斯托大学机器人实验室的Jonathan Rossiter教授课题组就为我们带来了这样的“超能力…

Fastjson 反序列化漏洞[1.2.24-rce]

漏洞复现环境搭建请参考 http://t.csdnimg.cn/vSaaw kali切换jdk版本请参考 Kali安装JAVA8和切换JDK版本的详细过程_kali安装jdk8-CSDN博客 漏洞原理 Fastjson提供的com.sun.rowset.JdbcRowSetImpl类下的dataSourceName方法支持传入一个RMI/LDAP源&#xff0c;支持远程调用。…

绘唐2AI工具在哪里下载

绘唐2AI工具在哪里下载 激活授权方式&#xff1a;https://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encf 绘唐2AI工具是一款由中国国家语言资源监测与研究中心开发的人工智能绘画工具。该工具利用深度学习算法和人工智能技术&#xff0c;能够自动将输入的文字描述转…

【MySQL数据库】:MySQL内置函数

目录 日期函数 current_date 函数 current_time 函数 current_timestamp 函数 now 函数 date 函数 date_add 函数 date_sub 函数 datediff 函数 字符串函数 charset 函数 concat 函数 instr 函数 ucase 函数 lcase 函数 left 函数 length 函数 replace…

探索自动发邮件的奥秘:从配置到实现

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;邮件自动化的魅力 二、配置环境&#xff1a;选择适合的SMTP服务器 示…

Spring Boot集成freemaker快速入门demo

1.什么是freemaker&#xff1f; FreeMarker 是一款模板引擎&#xff1a;即一种基于模板和要改变的数据&#xff0c;并用来生成输出文本(HTML网页&#xff0c;电子邮件&#xff0c;配置文件&#xff0c;源代码等)的通用工具。 它不是面向最终用户的&#xff0c;而是一个Java类库…

Adobe AntiCC 简化版 安装教程

Adobe AntiCC 简化版 安装教程 原文地址&#xff1a;https://blog.csdn.net/weixin_48311847/article/details/139277743

数据真实性与经济收益的矛盾:第三方检测何去何从|中联环保圈

在当今的市场化竞争环境中&#xff0c;第三方检测公司在环保行业中处于较为底端的位置。其多数检测业务依赖于第三方技术服务单位的委托&#xff0c;然而在委托过程中&#xff0c;往往面临着报告真实性和收款的矛盾。一旦第三方检测公司负责人在数据真实性和经济收益矛盾中取舍…

1806 jsp防疫物资销售管理系统 Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 防疫物资销售管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助采用了java设计&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.…

Android USB调试模式下自动上下滑动(Go实现)

简介 有的时候要对手机UI界面进行滑动测试&#xff0c; 手动或许太消耗时间&#xff0c; 理由Android USB调试模式对UI进行上下滑动测试。 adb指令 使用adb --help 可以查看所有的adb支持指令, 但这里我们只需要上下, 使用到的指令&#xff1a; adb devices #列举所有设备 ad…

不同类型的区块链钱包有什么特点和适用场景?

区块链钱包是用于存储和管理加密货币的重要工具&#xff0c;市面上有许多不同类型的区块链钱包可供选择。以下是几种主要类型的区块链钱包及其特点和适用场景。 1.软件钱包&#xff1a; 特点&#xff1a;软件钱包是最常见的一种区块链钱包&#xff0c;通常作为软件应用程序提供…

后量子加密算法的数学原理

后量子加密算法是一类专为抵御量子计算机攻击而设计的加密算法。随着量子计算技术的迅速发展&#xff0c;传统的加密算法如RSA和椭圆曲线密码学在量子计算机面前变得脆弱&#xff0c;因此&#xff0c;开发能够在量子计算时代保持安全性的加密算法变得尤为重要。下面将详细介绍后…