数值分析笔记(二)函数插值

函数插值

已知函数 f ( x ) f(x) f(x)在区间[a,b]上n+1个互异节点 { x i } i = 0 n \{{x_i}\}_{i=0}^{n} {xi}i=0n处的函数值 { y i } i = 0 n \{{y_i}\}_{i=0}^{n} {yi}i=0n,若函数集合 Φ \Phi Φ中函数 ϕ ( x ) \phi(x) ϕ(x)满足条件
ϕ ( x i ) = y i ( i = 0 , 1 , 2 , ⋯ , n ) \phi\left(x_{i}\right)=y_{i} \quad(i=0,1,2, \cdots, n) ϕ(xi)=yi(i=0,1,2,,n)
ϕ ( x ) \phi(x) ϕ(x) f ( x ) f(x) f(x) Φ \Phi Φ中关于节点 { x i } i = 0 n \{{x_i}\}_{i=0}^{n} {xi}i=0n的插值函数。

R n ( x ) = f ( x ) − ϕ ( x ) R_{n}(x)=f(x)-\phi(x) Rn(x)=f(x)ϕ(x)为插值余项。

选取 1 , x , x 2 , . . . , x n 1,x,x^2,...,x^n 1,x,x2,...,xn作为n次多项式空间的一组基函数,对于多项式插值,有
R n ( x ) = f ( x ) − ϕ ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ω n + 1 ( x ) R_{n}(x)=f(x)-\phi(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!} \omega_{n+1}(x) Rn(x)=f(x)ϕ(x)=(n+1)!f(n+1)(ξ)ωn+1(x)
其中 ξ = ξ ( x ) ∈ ( a , b ) , ω n + 1 ( x ) = ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n ) \xi=\xi(x) \in(a, b), \omega_{n+1}(x)=\left(x-x_{0}\right)\left(x-x_{1}\right) \cdots\left(x-x_{n}\right) ξ=ξ(x)(a,b),ωn+1(x)=(xx0)(xx1)(xxn)

Lagrange插值

线性插值

过两点 ( x 0 , y 0 ) (x_0,y_0) (x0,y0) ( x 1 , y 1 ) (x_1,y_1) (x1,y1)的直线的方程为

y − y 0 = y 1 − y 0 x 1 − x 0 ( x − x 0 ) y - y_0 =\frac{y_1 - y_0}{x_1 - x_0}( x - x_0 ) yy0=x1x0y1y0(xx0)

整理可得,

y = x − x 1 x 0 − x 1 y 0 + x − x 0 x 1 − x 0 y 1 y =\frac{x - x_1}{x_0 - x_1}y_0 + \frac{x - x_0}{x_1 - x_0}y_1 y=x0x1xx1y0+x1x0xx0y1

引入记号,

l 0 ( x ) = x − x 1 x 0 − x 1 , l 1 ( x ) = x − x 0 x 1 − x 0 l_0( x )=\frac{x - x_1}{x_0 - x_1},\quad l_1( x )=\frac{x - x_0}{x_1 - x_0} l0(x)=x0x1xx1,l1(x)=x1x0xx0

易知 l 0 l_0 l0 l 1 l_1 l1线性无关,

则有 L 1 ( x ) = l 0 ( x ) y 0 + l 1 ( x ) y 1 L_1( x ) = l_0( x ) y_0 + l_1( x ) y_1 L1(x)=l0(x)y0+l1(x)y1为Lagrange插值多项式。

对于二次多项式,可写出

L 2 ( x ) = l 0 ( x ) y 0 + l 1 ( x ) y 1 + l 2 ( x ) y 2 L_2( x ) = l_0( x ) y_0 + l_1( x ) y_1 + l_2( x ) y_2 L2(x)=l0(x)y0+l1(x)y1+l2(x)y2

需满足条件,

( l 0 ( x 0 ) = 1 l 0 ( x 1 ) = 0 l 0 ( x 2 ) = 0 ) \left( \begin{matrix}l_0( x_0 ) = 1 \\l_0( x_1 ) = 0 \\l_0( x_2 ) = 0 \end{matrix}\right) l0(x0)=1l0(x1)=0l0(x2)=0

( l 1 ( x 0 ) = 0 l 1 ( x 1 ) = 1 l 1 ( x 2 ) = 0 ) \left(\begin{matrix}l_1( x_0 ) = 0 \\l_1( x_1 ) = 1 \\l_1( x_2 ) = 0 \end{matrix}\right) l1(x0)=0l1(x1)=1l1(x2)=0

( l 2 ( x 0 ) = 0 l 2 ( x 1 ) = 0 l 2 ( x 2 ) = 1 ) \left(\begin{matrix}l_2( x_0 ) = 0 \\l_2( x_1 ) = 0 \\l_2( x_2 ) = 1 \end{matrix}\right) l2(x0)=0l2(x1)=0l2(x2)=1

对于n+1个节点的情形,
L n ( x ) = l 0 ( x ) y 0 + l 1 ( x ) y 1 + l 2 ( x ) y 2 + ⋯ + l n ( x ) y n = ∑ i = 0 n l i ( x ) y i L_n( x ) = l_0( x ) y_0 + l_1( x ) y_1 + l_2( x ) y_2 + \cdots + l_n( x ) y_n = \sum_{i = 0}^n l_i( x ) y_i Ln(x)=l0(x)y0+l1(x)y1+l2(x)y2++ln(x)yn=i=0nli(x)yi
满足条件,
l i ( x j ) = { 1 , j = i , 0 , 0 ⩽ j ⩽ n , j ≠ i , l_i( x_j ) = \left\{\begin{matrix}1 ,& j = i ,\\0 ,& 0 \leqslant j \leqslant n ,j \neq i ,\end{matrix}\right. li(xj)={1,0,j=i,0jn,j=i,
l i ( x ) l_i(x) li(x)
l i ( x ) = ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x i − 1 ) ( x − x i + 1 ) ⋯ ( x − x n ) ( x i − x 0 ) ( x i − x 1 ) ⋯ ( x i − x i − 1 ) ( x i − x i + 1 ) ⋯ ( x i − x n ) . l_i( x )=\frac{( x - x_0 ) ( x - x_1 )\cdots( x - x_{i-1} ) ( x - x_{i+1} )\cdots( x - x_n )}{( x_i - x_0 ) ( x_i - x_1 )\cdots( x_i - x_{i-1} ) ( x_i - x_{i+1} )\cdots( x_i - x_n )}. li(x)=(xix0)(xix1)(xixi1)(xixi+1)(xixn)(xx0)(xx1)(xxi1)(xxi+1)(xxn).

Newton插值法

过两点 ( x 0 , y 0 ) (x_0,y_0) (x0,y0) ( x 1 , y 1 ) (x_1,y_1) (x1,y1)的直线方程记为

p 1 ( x ) = y 0 + y 1 − y 0 x 1 − x 0 ( x − x 0 ) = y 0 + c 1 ( x − x 0 ) . p_1( x ) = y_0 + \frac{y_1 - y_0}{x_1 - x_0}( x - x_0 ) = y_0 + c_1( x - x_0 ) . p1(x)=y0+x1x0y1y0(xx0)=y0+c1(xx0).

增加一个节点,

p 2 ( x ) = p 1 ( x ) + c 2 ( x − x 0 ) ( x − x 1 ) . p_2( x )=p_1( x ) + c_2( x - x_0 ) ( x - x_1 ) . p2(x)=p1(x)+c2(xx0)(xx1).

节点由k个增加到k+1个,满足

p k ( x ) = p k − 1 ( x ) + c k ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x k − 1 ) . p_k( x )=p_{k-1}( x ) + c_k( x - x_0 ) ( x - x_1 )\cdots( x - x_{k-1} ) . pk(x)=pk1(x)+ck(xx0)(xx1)(xxk1).

由此可得,
p k ( x ) = y 0 + c 1 ( x − x 0 ) + ⋯ + c k ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x k − 1 ) . p_{k}( x )=y_{0}+c_{1}( x-x_{0} )+\cdots+c_{k}( x-x_{0} ) ( x-x_{1} )\cdots( x-x_{k-1} ) . pk(x)=y0+c1(xx0)++ck(xx0)(xx1)(xxk1).
是以 1 , x − x 0 , ( x − x 0 ) ( x − x 1 ) , ⋯ , ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x k − 1 ) 1,x-x_0,(x-x_0)(x-x_1),\cdots,(x-x_0)(x-x_1)\cdots(x-x_{k-1}) 1,xx0,(xx0)(xx1),,(xx0)(xx1)(xxk1)为基函数的插值多项式,这种方法被称为Newton插值法

分段线性插值

高次多项式插值是不稳定的。

在这里插入图片描述

三次样条插值

在这里插入图片描述

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

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

相关文章

数据结构01 栈及其相关问题讲解【C++实现】

栈是一种线性数据结构,栈的特征是数据的插入和删除只能通过一端来实现,这一端称为“栈顶”,相应的另一端称为“栈底”。 栈及其特点 用一个简单的例子来说,栈就像一个放乒乓球的圆筒,底部是封住的,如果你想…

2024年了,苹果可以通话录音了

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 6月11日凌晨,苹果在WWDC24大会上,密集输出了酝酿多时的AI应用更新。苹果对通话、对话、图…

力扣 SQL题目

185.部门工资前三高的所有员工 公司的主管们感兴趣的是公司每个部门中谁赚的钱最多。一个部门的 高收入者 是指一个员工的工资在该部门的 不同 工资中 排名前三 。 编写解决方案,找出每个部门中 收入高的员工 。 以 任意顺序 返回结果表。 返回结果格式如下所示。 …

Android studio如何导入项目

打开解压好的安装包 找到build.gradle文件 打开查看gradle版本 下载对应的gradle版本Index of /gradle/(镜像网站) 下载all的对应压缩包 配置gradle的环境变量 新建GRADLE_HOME 将GRADLE_HOME加入到path中 将项目在Android studio中打开进行配置 将gr…

LM339模块电路故障查询

最近的电路测试中出现一个问题,如果不接液晶屏,LM339输入端是高电平,如果接了液晶屏,输入端就是低电平,即使在输入端加了上拉电阻,还是如前面的结论,如果越过LM339,直接和后级电路连接&#xff…

Python爬虫JS逆向进阶课程

这门课程是Python爬虫JS逆向进阶课程,将教授学员如何使用Python爬虫技术和JS逆向技术获取网站数据。学习者将学习如何分析网站的JS代码,破解反爬虫机制,以及如何使用Selenium和PhantomJS等工具进行模拟登录和数据抓取。课程结合实例演练和项目…

ThinkPHP邮件发送配置教程?怎么配置群发?

ThinkPHP邮件发送安全性如何保障?ThinkPHP如何实现? 无论是用户注册后的验证邮件,还是订单处理的通知邮件,都需要一个可靠的邮件发送机制。AokSend将详细介绍如何在ThinkPHP框架中配置邮件发送功能,并带您逐步了解其中…

Python武器库开发-武器库篇之Mongodb未授权漏洞扫描器(五十六)

Python武器库开发-武器库篇之Mongodb未授权漏洞扫描器(五十六) MongoDB 未授权访问漏洞简介以及危害 MongoDB是一款非常受欢迎的开源NoSQL数据库,广泛应用于各种Web应用和移动应用中。然而,由于默认配置的不当或者管理员的疏忽,导致不少Mon…

维度建模中的事实表设计原则

维度建模是一种数据仓库设计方法,其核心是围绕业务过程建立事实表和维度表。事实表主要存储与业务过程相关的度量数据,而维度表则描述这些度量数据的属性。 以下是设计事实表时需要遵循的几个重要原则,来源于《维度建模》那本书上&#xff0…

Dictionary 字典

文章目录 一、什么是字典1.1 字典的创建方式 一、什么是字典 字典: 用来存储数据,与列表和元组不一样的是,字典以键值对的形式对数据进行存储,也就是 key 和 value。相当于 Java 中的 Map。 注意: 1、 key 的值不可重…

[C++][数据结构][AVL树]详细讲解

目录 1.AVL树的概念2.AVL树节点的定义3. AVL树的插入4.AVL树的旋转1.新节点插入较高左子树的左侧 -- 左左:右单旋2.新节点插入较高右子树的右侧 -- 右右:左单旋3.新节点插入较高左子树的右侧 -- 左右:先左单旋再右单旋4.新节点插入较高右子树…

基于System-Verilog点亮LED灯

文章目录 一、System-Verilog介绍1.1System-Verilog 二、简单的语法介绍2.1接口实例2.2全局声明和语句实例2.3时间单位和精度2.4用户定义的类型2.5 枚举类型 三、流水灯参考 一、System-Verilog介绍 1.1System-Verilog SystemVerilog是一种硬件描述和验证语言(HDV…

书生·浦语大模型实战营第二期作业五

1、开发机创建conda环境: 2、安装第三方库: 3、新建pipeline_transformer.py文件,并运行: 4、运行结果: 5、执行模型: 6、与大模型进行对话: 7、默认占有的显存: 8、--cache-max-en…

git删除已创建tag标签

前言 一不小心把tag标签名称复制错了&#xff0c;现将删除 1.删除本地标签 1.1.执行下面命令 git tag -d 1.5.2401161.5.240116是创建的tag标签名称 2.如果是删除远程的tag标签名称的话&#xff0c;看下面命令 2.1.删除远程标签 git push --delete origin <tagname>…

【博客719】时序数据库基石:LSM Tree的增删查改

时序数据库基石&#xff1a;LSM Tree的增删查改 LSM结构 LSM树将任何的对数据操作都转化为对内存中的Memtable的一次插入。Memtable可以使用任意内存数据结构&#xff0c;如HashTable&#xff0c;BTree&#xff0c;SkipList等。对于有事务控制需要的存储系统&#xff0c;需要在…

【MySQL基础随缘更系列】DML语句

文章目录 一、表记录操作-上1.1、DML概述1.2、插入记录 二、表记录操作-下2.1、更新记录2.2、删除记录 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f388;欢迎踏入我的博客世界&#xff0c;能与您在此邂逅&#xff0c;真是缘分使然&#xff01;&#x1f60a; &a…

用CloudCompare软件拟合点云中的圆柱体

用CloudCompare软件拟合点云中的圆柱体 软件下载 点击下面的链接&#xff0c;进入下载页面&#xff1a; 下载页面 然后根据需要选择下载合适的软件版本。 一般选择windows installer版&#xff0c;如图所示&#xff1a; 下载完成后&#xff0c;安装并打开软件。软件的默认语…

解决 kali 中使用 vulhub 拉取不到镜像问题

由于默认情况下&#xff0c;访问的镜像是国外的&#xff0c;而从 2023 年开始&#xff0c;docker 的镜像网站就一直访问不了&#xff0c;所以我们可以把镜像地址改成国内的阿里云镜像地址。 1、在 cd /etc/docker/目录下创建或修改daemon.json文件 sudo touch daemon.json 2、在…

docker 简单在线安装教程

1、配置阿里镜像源 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo 2、指定版本安装docker 本次制定安装 docker 服务版本、客户端版本都为&#xff1a; 19.03.14-3.el7 yum -y install docker-ce-19.03.14-3.e…

ffmpeg实现视频播放 ----------- Javacv

什么是Javacv和FFmpeg&#xff1f; Javacv是一个专门为Java开发人员提供的计算机视觉库&#xff0c;它基于FFmpeg和Opencv库&#xff0c;提供了许多用于处理图 像、视频和音频的功能。FFmpeg是一个开源的音视频处理工具集&#xff0c;它提供了用于编码、解码、转换和播放音视频…