• 拉格朗日差值计算

    拉格朗日差#include<iostream> using namespace std; int main() { double a[6]={0.0,0.1,0.195,0.3,0.401,0.5}; double b[6]={0.39894,0.39695,0.39142,0.38138,0.36812,0.35206}; double c[3]={0.15,0.31,0.47}; double d[7]; double e[7]; double f[7]; int flag; cout<<"全区间上拉格朗日插值:"<<endl; double up=1,down=1,sum=0; flag=5; for(int n=0;n<3;n++) { if(c[n]<a[0]||c[n]>a[5]) { cout<<"当x="<<c[n]<<"时,无法实现估算插值!"<<endl;} else { int i,j; for(i=0;i<=flag;i++) { for(j=0;j<=flag;j++) { d[j]=c[n]-a[j]; e[j]=a[i]-a[j]; } d[i]=b[i];e[i]=1; for(j=0;j<=flag;j++) { up=up*d[j]; down=down*e[j]; } f[i]=up/down; //将每一个lk(x),放入数组f[7]。 up=1;down=1; } for(int k=0;k<=flag;k++) { sum=sum+f[k]; } }//else结束。 cout<<"当x="<<c[n]<<",根据全区间上拉格朗日差值得到近似值为:"<<sum<<endl; sum=0;up=1;down=1; }//n结束,即每一个计算数求得近似值。 return 0; } 值计算

    0
    117
    1014B
    2013-05-28
    10
上传资源赚积分or赚钱