埃特金插值

来源:互联网 发布:电路模拟软件下载 编辑:程序博客网 时间:2024/05/17 23:59

#include <iostream>
using namespace std;
void main()
{
float **a,x,result,e;  [url=file://保/]file://保[/url]存精度
int n,i;
float aitken(float **a,int n,float x,float *e);
cout<<"输入点数:";
cin>>n;
a=new float *[n];
for(i=0;i<n;i++)
  a=new float[2];
cout<<"输入各个点:"<<endl;
for(i=0;i<n;i++)
  for(int j=0;j<2;j++)
   cin>>a[j];
cout<<"输入自变量的值:";
cin>>x;
result=aitken(a,n,x,&e);
cout<<"运算结果是:"<<result;
if(e>0)
  cout<<"+"<<e<<endl;
else
  cout<<e<<endl;
}
float aitken(float **a,int n,float x,float *e)
{
for(int i=0;i<n-1;i++)
  for(int j=i+1;j<n;j++)
   a[j][1]=a[1]+(x-a[0])*(a[j][1]-a[1])/(a[j][0]-a[0]);
*e=a[n-1][1]-a[n-2][1];
return a[n-1][1];
}