拉格朗日.cpp
来自「拉格朗日算法」· C++ 代码 · 共 49 行
CPP
49 行
//programm of Lagrange
#include "iostream.h"
#include "iomanip.h"
void main()
{
int i,j,k;//定义循环变量
int n;
double x;
double y = 0;//初始化为零
struct point //使用结构体存储各节点值
{
double x1;
double y1;
};
point poi[10];
cout<<"请输入x的值:"<<endl;
cin>>x;
cout<<"请输入要插值的节点数n:"<<endl;
cin>>n;
cout<<"请输入各节点(xi,yi):"<<endl;
for(i=0;i<n;i++)
{
cin>>poi[i].x1>>poi[i].y1;
}
for(k=0;k<n;k++)
{
double t = 1;
for(j=0;j<n;j++)
{
if(j!=k)
t = ((x - poi[j].x1)*t)/(poi[k].x1 - poi[j].x1);
else continue;
}
y = y + t*poi[k].y1;
}
cout<<"我们可以得到拉格朗日插值结果为:";
cout<<y;
cout<<endl;
}
//一下是我用的一个小例子,下面是运行的过程,例子为求exp(115);
/*请输入x的值:
115
请输入要插值的节点数n:
3
请输入各节点(xi,yi):
100 10 121 11 144 12
我们可以得到拉格朗日插值结果为:10.7228
Press any key to continue*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?