文章目录
前言
数值分析课内实验采用程序设计的思想去实现有关数值分析的计算思维,不仅加深了对课上知识的巩固,而且锻炼了自身的编程能力。
主要仪器设备及耗材
- PC机
- VS 2019开发环境
以下是本篇文章正文内容,下面案例可供参考
一、用C语言实现几个多项式插值的程序。(Lagrange插值、Newton插值)
实验内容描述
拉格朗日插值法,运用多个插值点求根号115的近似值。
实验基本原理与设计
分析与设计
#include<iostream>
using namespace std;
double lagrange(int n,double x[],double y[],double xx)
{
double t;
double yy = 0;
for (int k = 0; k < n; k++)
{
t= 1;
for (int j = 0; j <n ; j++)
{
if (j != k)
t *= (xx - x[j]) / (x[k] - x[j]);
}
yy += t*y[k];
}
return yy;
}
void main()
{
int n;
double x[100], y[100];
double xx, yy;
cout << "Please enter n:";
cin >> n;
for (int i = 0; i < n; i++)
{
cout << "x"<<i<<":";
cin >> x[i];
}
cout << endl;
for (int i = 0; i < n; i++)
{
cout << "y" << i << ":";
cin >> y[i];
}
cout << "Please enter xx:";
cin >> xx;
yy = lagrange(n, x, y, xx);
cout << "Result is:" << yy << endl