欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数值分析(一):拉格朗日插值法代码

程序员文章站 2022-06-07 09:58:32
...

拉格朗日插值法

拉格朗日插值法是出现在数值分析课程第一章插值法里面比较重要的一个方法,也是我们需要通过编程实现的一个方法。话不多说,结合一个简单实例来分析:
数值分析(一):拉格朗日插值法代码
拉格朗日插值法这里不多介绍,基本概念都懂,现在主要是怎么来写代码。
例题中给定了两个插值节点和一个估算节点的x值,这里为了保存点的坐标,我们可以使用结构体来保存节点。

typedef struct Point {
	double  x;
	double  y;
}Point;

其次,我们需要解决的是如何计算插值基函数,解决了插值基函数,拉格朗日插值法就完成实现了。
仔细分析插值基函数的特点,套用公式即可

for (i = 0; i <= n; i++)
	{
		for (j = 0, lange = 1.0; j <= n; j++)
		{
			if (j == i)
				continue;
			lange = lange * (x - point[j].x) / (point[i].x - point[j].x);
		}
		largrange = largrange + lange * point[i].y;
	}

运行结果图如下:
数值分析(一):拉格朗日插值法代码
对比计算结果和运算结果,可以基本认定代码无误
数值分析(一):拉格朗日插值法代码

相关标签: 算法