📄 lagrange
字号:
Lagrange插值2007-07-16 18:36#include<iostream>
#include<math.h>
using namespace std;
#define N 5 //以五点为例
void main()
{
int i,j,k;
float l[N],t;
float result=0,w1,w2;
float x[N],y[N];
cout<<"Please input the array of x:\n";
for(i=0;i<N;i++) cin>>x[i];
cout<<"Please input the array of y:\n";
for(j=0;j<N;j++) cin>>y[j];
cout<<"Please input t\nt=";
cin>>t;
for(i=0;i<N;i++) //i可以从0开始循环
for(w1=1,w2=1,k=0;k<N;k++) //注意应该把w1和w2放在这个地方,而不应该放在定义处,否则会累加
{
{
if(k==i) continue;
w1*=(t-x[k]);
w2*=(x[i]-x[k]);
}
l[i]=w1/w2; //这样做可以避免使用数组
}
for(i=0;i<N;i++)
result+=l[i]*y[i];
cout<<"The final result is:\n";
cout<<"ln("<<t<<")"<<"="<<result<<"\n";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -