⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lagrange插值法.cpp

📁 Lagrange插值法C语言版 在VC6.0下编译通过
💻 CPP
字号:
#include <stdio.h>
#include <stdlib.h>

void main(  )
{
	int  n,i,j;
	float * x, * y, xWant, LI, PN = 0;

	printf("请输入结点个数\nN=");	//输入结点个数
	scanf("%d", &n);

	x = (float *)malloc(n * sizeof(float));		//为X申请空间
	y = (float *)malloc(n * sizeof(float));		//为Y申请空间

	printf("请输入已知X的值\n");	//输入已知X
	for(i = 0; i < n; i++)
	{
		printf("X[%d]=",i);
		scanf("%f", (x+i));
	}
	
	printf("请输入已知Y的值\n");	//输入已知Y
	for (i = 0; i < n; i++)
	{
		printf("Y[%d]=",i);
		scanf("%f", (y+i));
	}
 
	printf("请输入插值点的值\nx=");		//输入要求的值
	scanf("%f", &xWant);

	for (i = 0; i < n; i++)			//外循环  pn(x)
	{
		LI=1;
		for (j = 0; j < n; j++)		//内循环 li(x)
			if (j != i)
				LI *= ((xWant - x[j]) / ( x[i] - x[j]));
 
		PN += LI * y[i];
	}

	printf("计算结果\nP%d(%f)=%f\n\n",(n-1),xWant,PN);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -