正文

勒让德多项式2009-09-29 15:31:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/cunzhang/48676.html

分享到:

/*=============================================================
    用递归的方法求n阶勒让德多项式的值 
    如果n=0 f(x,n)=1;如果n=1,f(x,n)=x;如果n>=1 ,f(x,n)=((2n-1)*x-f(x,n-1)-(n-1)*f(x,n-2))/n 
     算法分析:1 定义x和n 
               2 输入x和n 
               3 用递归进行调用 
==============================================================
             作者:最后的村长
             时间:2009年9月29日
             工具:DEV C++
             version:1.0
==============================================================*/
#include <stdio.h>
#include <stdlib.h>
double f(int n,double x);
/*=============================================================*/
int main()
{
    int n;//定义n和x 
    double x;
    printf("n=");//n和x初始化 
    scanf("%d",&n);
    printf("\nx=");
    scanf("%f",&x);
    printf("\n%d阶勒让德多项式的值是:%5.2f",n,f(n,x));//输出结果 
    system("PAUSE");
    return 0;
    
}
double f(int n,double x)//勒让德函数 
{
   
    if(n==0)
     return 1;
    else if (n==1) 
    return (x);
    else if(n>1)
    return(((2*n-1)*x-f(n-1,x)-(n-1)*f(n-2,x))/n); 
    
}

阅读(2324) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册