func1p3.cpp
上传用户:zhdd911129
上传日期:2007-05-11
资源大小:722k
文件大小:1k
源码类别:

matlab例程

开发平台:

Matlab

  1. //Interpolate,using Langrang Methom
  2. #include <iostream.h>
  3. //Langrange polynomial
  4. double LP(double x,double *ax,double *ay,int n)
  5. {
  6. double sum=0,Tsum=1;
  7. int i,j;
  8. for (i=0;i<n;i++)
  9. {
  10. for (j=0;j<n;j++)
  11. {
  12. if (j!=i)
  13. Tsum=Tsum*(x-ax[j])/(ax[i]-ax[j]);
  14. }
  15. sum=sum+Tsum*ay[i];
  16. Tsum=1;
  17. }
  18. return sum;
  19. }
  20. void main()
  21. {
  22. double ax[]={0.4,0.5,0.6,0.7,0.8},ay[]={-.916291,-.693147,-.510826,-.356675,-.223144},x=0.54;
  23. int n=5;
  24. cout<<"The value at that point is: "<<LP(x,ax,ay,n)<<endl;
  25. cin>>n;
  26. }
  27. //运行结果:-0.616143
  28. //真值:-0.616186;误差:0.000043; 理论误差限(由余项公式):0.001029
  29. //可见对于该函数y=ln x,多项式插值有着相当好的效果