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

matlab例程

开发平台:

Matlab

  1. //C2
  2. //Interpolate,using Langrang Methom
  3. #include <iostream.h>
  4. #include <time.h>
  5. //Langrange polynomial
  6. double LP(double x,double *ax,double *ay,int n)
  7. {
  8. double sum=0,Tsum=1;
  9. int i,j;
  10. for (i=0;i<n;i++)
  11. {
  12. for (j=0;j<n;j++)
  13. {
  14. if (j!=i)
  15. Tsum=Tsum*(x-ax[j])/(ax[i]-ax[j]);
  16. }
  17. sum=sum+Tsum*ay[i];
  18. Tsum=1;
  19. }
  20. return sum;
  21. }
  22. void main()
  23. {
  24. double ax[]={0.56160,0.56280,0.56401,0.56521},ay[]={0.82741,0.82659,0.82577,0.82495},x=0.5635;
  25. int n=4;
  26. cout<<"The value at that point is: "<<LP(x,ax,ay,n)<<endl;
  27. cin>>n;
  28. }
  29. //运行结果:0.826116,Lagrange实现并不困难,
  30. //但如要改变节点数,将会带来非常多的麻烦