拉格朗日插值.txt

来自「数值方法课程中的程序」· 文本 代码 · 共 38 行

TXT
38
字号
#include<iostream.h>
#include<math.h>
double Y;
double Lagrange(double x[],double y[],int n,double m)
{  int i,k;
   double T1,T2,T3,L=0;
   for(i=0;i<n+1;i++)
   {  T1=1,T2=1;
      for(k=0;k<n+1;k++)
      {  if(k!=i)
         {  
            T1*=(m-x[k]); 
            T2*=(x[i]-x[k]);
         }
         
      }

      T3=(T1/T2);
      L+=y[i]*T3;
   }

   Y=L;
}

void main()
{  int i;
  double x[11],y[11],h=0.1;
   for(i=0;i<11;i++)
   {  x[i]=1+i*h;
      y[i]=log(x[i]);
   }
   for(i=0;i<11;i++)
   cout<<x[i]<<endl;
   for(i=0;i<11;i++)
   cout<<y[i]<<endl;
   Lagrange(x,y,10,1.54);
   cout<<Y<<endl;
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?