[计算机数值分析]牛顿插值公式

article/2025/9/19 19:38:41
Spring-_-Bear 的 CSDN 博客导航

埃特金算法虽然具有承袭性,但其算式是递推型的,不便于进行理论上的分析。所以采用具有承袭性的显式的牛顿插值公式是不错的选择。

p n ( x ) = f ( x 0 ) + f ( x 0 , x 1 ) ( x − x 0 ) + . . . + f ( x 0 , x 1 , . . . , x n , x ) ( x − x 0 ) ( x − x 1 ) . . . ( x − x n ) (1) p_{n}(x)=f(x_{0})+f(x_{0},x_{1})(x-x_{0})+...+f(x_{0},x_{1},...,x_{n},x)(x-x_{0})(x-x_{1})...({x-x_{n}})\tag1 pn(x)=f(x0)+f(x0,x1)(xx0)+...+f(x0,x1,...,xn,x)(xx0)(xx1)...(xxn)(1)

例:已知四个节点

( 0 , 1 ) , ( 2 , 3 ) , ( 3 , 2 ) , ( 5 , 5 ) (0,1),(2,3),(3,2),(5,5) (0,1)(2,3)(3,2)(5,5)

构造三次牛顿插值多项式,计算当 x = 2.5 x=2.5 x=2.5 时牛顿多项式插值结果。

解:根据牛顿插值公式,如式(1),我们很容易写出三次牛顿插值多项式如下:

p 3 ( x ) = f ( x 0 ) + f ( x 0 , x 1 ) ( x − x 0 ) + f ( x 0 , x 1 , x 2 ) ( x − x 0 ) ( x − x 1 ) + f ( x 0 , x 1 , x 2 , x 3 ) ( x − x 0 ) ( x − x 1 ) ( x − x 2 ) p_{3}(x)=f(x_{0})+f(x_{0},x_{1})(x-x_{0})+f(x_{0},x_{1},x_{2})(x-x_{0})(x-x_{1})+f(x_{0},x_{1},x_{2},x_{3})(x-x_{0})(x-x_{1})(x-x_{2}) p3(x)=f(x0)+f(x0,x1)(xx0)+f(x0,x1,x2)(xx0)(xx1)+f(x0,x1,x2,x3)(xx0)(xx1)(xx2)

化简得

p 3 ( x ) = 3 10 x 3 − 13 6 x 2 + 62 15 x + 1 p_{3}(x)=\frac{3}{10}x^{3}-\frac{13}{6}x^{2}+\frac{62}{15}x+1 p3(x)=103x3613x2+1562x+1

x = 2.5 x=2.5 x=2.5 时,三次牛顿插值多项式结果为 p 3 ( x ) = 2.479167 p_{3}(x)=2.479167 p3(x)=2.479167

运行示例:

在这里插入图片描述

程序源码:

#include <iostream>using namespace std;#define MAX 10typedef struct Point
{double x;double y;
} point;int main(void)
{int n;cout << "请输入插值节点的个数(<10):";cin >> n;point p[MAX];for (int i = 1; i <= n; i++){cout << "请输入第 " << i << " 个点的坐标:";cin >> p[i].x;cin >> p[i].y;}double x;cout << "请输入 x 的值:";cin >> x;double sum = 0;for (int i = 1; i <= n; i++){// 根据牛顿插值公式,第一项为 f(x1) 即 0 阶差商if (i == 1){sum += p[1].y;continue;}// 求右半部分,即 (x-x0) || (x-x0)(x-x1) || (x-x0)(x-x1)(x-x2)...double right = 1;for (int j = 1; j < i; j++){right *= (x - p[j].x);}// 求左半部分 leftSum 即 f(x0,x1) || f(x0,x1,x2)...也即差商double leftSum = 0;for (int k = 1; k <= i; k++){if (i == 1){leftSum = 1;break;}double denominator = 1;for (int m = 1; m <= i; m++){if (m == k){continue;}// 累乘分母denominator *= (p[k].x - p[m].x);}// 累加组成差商的每一项,最终结果为差商leftSum += p[k].y / denominator;}// 累加差商与右半部分的和得最终插值结果sum += leftSum * right;}cout << "\n运用牛顿插值法求得 f(x) =" << sum << endl;return 0;
}

http://chatgpt.dhexx.cn/article/xiuoUwtc.shtml

相关文章

如何用计算机做牛顿迭代公式,牛顿迭代法

牛顿迭代法(Newtons method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。 中文名 牛顿迭代法 外文名 Newtons method别 名 牛顿-拉夫逊(拉弗森)方法 提出时间 17世纪 牛顿迭代法产生背景 编辑…

牛顿恒等式 牛顿和

前言&#xff1a;仅个人小记。该恒等式推导逻辑非常简洁。目标&#xff1a;求一个多项式的所有根的次幂和。比如多项式 P ( x ) Σ i 0 n a i x i P(x)\Sigma_{i0}^{n}a_i x^i P(x)Σi0n​ai​xi的根为 α , β , . . . , ω \alpha,\beta,...,\omega α,β,...,ω&#xff…

牛顿插值公式

均差&#xff08;差商&#xff09; f[x0,x1]f(x1)−f(x0)x1−x0 一阶 f[x0,x1,x2]f(x1,x2)−f(x0,x1)x2−x0 二阶 ⋮ 性质 1.对上述二解均差展开&#xff0c;得&#xff0c; f[x0,x1,x2]f(x0)(x0−x1)(x0−x2)f(x1)(x1−x0)(x1−x2)f(x2)(x2−x0)(x2−x1) 依次类推 有&am…

5.3 牛顿-科茨公式

学习目标&#xff1a; 理解微积分基础知识&#xff0c;例如导数和微分的概念。学习牛顿-科茨公式的推导过程。这个公式实际上是使用泰勒公式对被积函数进行展开&#xff0c;并使用微积分的基本原理进行简化得到的。学习如何使用牛顿-科茨公式进行数值积分。这通常涉及到将被积…

牛顿迭代公式

问题背景 给定任意一个数x&#xff0c;求其平方根z&#xff0c;平方误差小于0.001。 这个问题直观的去想&#xff0c;我们一般会采取设定一个初始值&#xff0c;然后通过迭代逐渐逼近平方根&#xff0c;但是初始值怎样去迭代才能更快”逼近“成为关键问题&#xff0c;牛顿迭代…

人工智能数学基础---定积分3:微积分基本公式(牛顿-莱布尼茨公式)

一、引言 在《人工智能数学基础—定积分1&#xff1a;定积分的概念以及近似计算》介绍了利用定积分的定义进行定积分的近似计算方法&#xff0c;但这种方式比较复杂&#xff0c;如果被积函数复杂困难更大&#xff0c;那么定积分是否有其他计算方式呢&#xff1f;答案是肯定的&…

二分法求解方程的根java_【数值分析】利用二分法和牛顿公式求解方程的根

1.实验内容 ​分别利用牛顿公式和二分法对某一方程(此实验是以开方公式为准&#xff0c;即x2-c0,在验证时取c115)进行求解。且对两者的求解结果进行比较&#xff0c;比较两者的迭代次数和精度。 分别编写函数Binary(min, max, times)和 Newton(x0, times)实现以上两种方法。实验…

验证牛顿公式的局部收敛性,并找到对于牛顿公式不收敛(发散)的函数,比较二分法与牛顿公式的收敛速度

文末有代码&#xff0c;大家可以自己跑一下&#xff0c;体会一下牛顿法的运算过程 二、实验目的&#xff1a; a.验证牛顿公式的局部收敛性&#xff1b; b.比较二分法与牛顿公式的收敛速度&#xff1b; c.验证求解结果的正确性&#xff1b; 三、实验内容 a.在验证牛顿公式的…

牛顿迭代公式(详细)

牛顿迭代公式 X n 1 X n − f ( x ) f ′ ( x ) X_{n1} X_n -\frac{f(x)}{f(x)} Xn1​Xn​−f′(x)f(x)​ 上网搜了很久,搞懂了一点,简单记录一下 其实弄懂了一点后会发现它并不是很高大上&#x1f605; . 先来一段代码 求9的平方根,java实现 public static void main…

牛顿-莱布尼茨公式

牛顿-莱布尼兹公式&#xff08;Newton-Leibniz formula&#xff09;&#xff0c;通常也被称为微积分基本定理&#xff0c;揭示了定积分与被积函数的原函数或者不定积分之间的联系。 牛顿-莱布尼茨公式的内容是一个连续函数在区间 [ a&#xff0c;b ] 上的定积分等于它的任意一个…

python语言培训是密封式的吗

述&#xff08;最多18字 以下试题内容来源由-众课帮-公众号和小程序提供 可查询更多的试题答案新鲜尿液有氨臭味 变异性心绞痛患者首选药物是 A_______ofdependenceonGMOseedsandchemicalfertilizers,pesticides(杀虫剂),andherbicides&#xff08;除草剂&#xff09;isthencre…

【业界分享】字节跳动如何用 7 年,成为腾讯最可怕的对手?张一鸣一语道破...

点击上方&#xff0c;选择星标或置顶&#xff0c;每天给你送干货&#xff01; 阅读大概需要16分钟 跟随小博主&#xff0c;每天进步一丢丢 转载自公众号&#xff1a;开发者技术前线 2019 年&#xff0c;字节跳动被预估广告收入可达 1000 亿元。 说到互联网巨头&#xff0c;很多…

VR旅游应用案例解析,世界那么大用VR去看看!

中国旅游研究院(文化和旅游部数据中心)发布“2019年上半年全国旅游经济运行情况”中显示上半年旅游经济平稳运行,预计国内旅游人数30.8亿人次,国内旅游收入2.78万亿元,同比分别增长8.8%和13.5%。由相关数据显示,旅游消费如今已经成为民众的一个重要生活方式。 同时为了不断…

从虚机到容器,秒拍架构师告诉你如何平滑进行业务迁移

近期&#xff0c;炫一下&#xff08;北京&#xff09;科技有限公司&#xff08;简称“一下科技”&#xff09;短视频产品“秒拍”完成了一个“大动作”——将原来部署在虚拟机上的主体业务迁移到华为云&#xff0c;同时将公司的技术体系承载在下一代虚拟技术容器&#xff08;Do…

git中如何取消忽略文件

问题现象描述&#xff1a; 在每天的git-----pull时&#xff0c;操作失败。报文件冲突的异常。而该冲突文件却是自己已被忽略的文件&#xff0c;在网上通用的在.gitignore文件中取消忽略的办法无法实现&#xff0c;因为.gitignore文件中根本没有哪行命令是决定该文件的忽略操作…

git忽略文件不生效问题解决

git忽略文件不生效问题解决 文章目录 git忽略文件不生效问题解决**一 .gitignore添加了忽略文件&#xff0c;但是提交时还会出现这些忽略文件** 一 .gitignore添加了忽略文件&#xff0c;但是提交时还会出现这些忽略文件 —在gitignore中忽略了.idea文件夹,但是提交时仍旧会出…

git如何忽略一个文件

1.1 添加.gitignore文件 在.gitignore文件中指定的目录和文件会在下次push时从git仓库中删除&#xff0c;本地文件不会删除。 创建.gitignore文件&#xff0c;这个文件不仅能创建在根目录&#xff0c;而且也能在子目录下创建&#xff0c;个数不限。若多个.gitignore文件中有…

git忽略文件的两种方式

目录 前言 一、忽略并且push到远程 二、忽略本地&#xff0c;不提交 2.1、忽略本地文件 2.2、取消忽略&#xff0c;恢复提交 2.2.1、查看有哪些文件被忽略 2.2.2、 取消忽略 前言 本文不讲述.gitignore文件的设置。 关键字&#xff1a;git update-index --no-assume-un…

IDEA设置GIT忽略文件提交

情景一:从未提交过的文件 我们是项目组长,组内员工总是会误把本地的一些文件提交上git,以下以target目录为例,我们过滤这个文件夹的所有内容不允许提交 一、在项目根目录下新建.gitignore文件,内容如下 target/ # Package Files # *.jar *.war *.nar *.ear *.zip *.tar.…

【git】git忽略文件 取消忽略文件

【git】git忽略文件 取消忽略文件 一、git忽略文件 &#xff08;一&#xff09;通常操作 忽略成功后会出现灰色图标 git根目录下有一个.gitignore文件&#xff0c;被忽略的文件全部会添加到里面 相关过滤规则举例说明&#xff1a; #&#xff1a;注释符号&#xff0c;自动被…