当前位置: 代码迷 >> C语言 >> 用递归方法求解
  详细解决方案

用递归方法求解

热度:274   发布时间:2006-10-12 19:43:55.0
用递归方法求解
特别感谢jxnu为我前几个问题的回帖,每个回复的程序都思路清晰,说明详细,可读性很强.

用递归方法求n阶勒让德多项式,递归公式为:

1 (n=0)
Pn(x)= { x (n=1)
((2n-1)xPn-1(x)-(n-1)Pn-2(x))/n (n>1)
搜索更多相关的解决方案: 递归  求解  

----------------解决方案--------------------------------------------------------
一条函数题目。
----------------解决方案--------------------------------------------------------
你的题写的不清楚,Pn-1(x)什么意思,会不会是Pn(x-1)?
----------------解决方案--------------------------------------------------------

/*直接按照给出的公式写就是了*/

float Pn(int n,float x)
{
if(n==0)
{
return(1);
}
if(n==1)
{
return(x);
}
else
return(((2*n-1)*x-Pn(n-1,x)-(n-1)*Pn(n-2,x))/n);
}


----------------解决方案--------------------------------------------------------
对楼上的回复,我想做一个改正(公式写错了哈)
return(((2*n-1)*x*Pn(n-1,x)-(n-1)*Pn(n-2,x))/n);
其它我不知道了.
----------------解决方案--------------------------------------------------------
以下是引用编程学者在2006-10-13 11:25:07的发言:
对楼上的回复,我想做一个改正(公式写错了哈)
return(((2*n-1)*x*Pn(n-1,x)-(n-1)*Pn(n-2,x))/n);
return(((2*n-1)*x-Pn(n-1,x)-(n-1)*Pn(n-2,x))/n);
和楼主的是不一样,是我错了,但n阶勒让德多项式就是这样的.
其它我不知道了.


----------------解决方案--------------------------------------------------------
是是!
----------------解决方案--------------------------------------------------------

  相关解决方案