📄 lagrange.cpp
字号:
#include<iostream.h>
#include<iomanip.h>
#define pointnum 6
double Lagrange(double NodeX[],double NodeY[],double x)
{
int i,j;
double mid=0.0,result=0.0;
for(i=0;i<pointnum;i++)
{
mid=NodeY[i];
for(j=0;j<pointnum;j++)
if(i!=j)
mid=mid*(x-NodeX[j])/(NodeX[i]-NodeX[j]);
result=result+mid;
}
return result;
}
void main()
{
int i;
double result,mid=0.0;
double NodeX[pointnum]={0.30,0.42,0.50,0.58,0.66,0.72};
double NodeY[pointnum]={1.04403,1.08462,1.11803,1.15603,1.19817,1.23223};
double x[4]={0.46,0.55,0.60};
cout<<"插值节点数值为:"<<endl;
for(i=0;i<pointnum;i++)
cout<<setw(10)<<NodeX[i];
cout<<endl;
for(i=0;i<pointnum;i++)
cout<<setw(10)<<NodeY[i];
cout<<endl;
cout<<"需计算点的值为:"<<endl;
for(i=0;i<3;i++)
cout<<setw(6)<<"x["<<i<<"]="<<x[i];
cout<<endl;
for(i=0;i<3;i++)
{
result=Lagrange(NodeX,NodeY,x[i]);
cout<<"插值点x["<<i<<"]="<<x[i]<<"的函数值为y["<<i<<"]="<<result<<endl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -