用递归方法求n阶勒让德多项式的值递归公式

如题所述

第1个回答  2020-09-21

当n=0时,Pn(x)=1;

当n=1时,Pn(x)=x;

当n>1时,如下递归公式:


百度百科-勒让德多项式

用递归方法求n阶勒让德多项式的值递归公式
当n=0时,Pn(x)=1;当n=1时,Pn(x)=x;当n>1时,如下递归公式:百度百科-勒让德多项式

n次勒让德多项式的递推公式
用递归方法求n阶勒让德多项式的值,递归公式如下:当n=0的时候,p(0,x)=1 当n=1的时候,p(1,x)=x 当n1的时候,p(n,x)=((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))

C语言用递归法求n阶勒让德多项式的值
在上述递归实现中,公式:y = ((2*n - 1)*x - lerang(n-1,x) - (n-1)*lerang(n-2,x))\/n;表示了求解n阶勒让德多项式的值时的具体计算步骤。这里的`lerang`函数代表递归调用,用于计算n-1阶和n-2阶勒让德多项式的值。然而,根据题目要求,该公式中少了一个重要参数。实际上,正确...

C语言用递归方法求n阶勒让德多项式
当n=0时,勒让德多项式L₀(x)=1 当n=1时,勒让德多项式L₁(x)=x 对于n>1的情况,利用递归关系式:Lₙ(x) = (2n-1)xLₙ₋₁(x) - (n-1)Lₙ₋₂(x) \/ n 通过该递归公式,我们可以直接计算出任意阶勒让德多项式。值得注意...

递归法求n阶勒让德多项式,Pn={1,n=0 x,n=1 ((2n-1)*x-Pn-1(x)-(n...
递归公式 1 (n=0)pn(x)=x (n=1)((2n-1)xpn-1(x)-(n-1)pn-2(x))\/n (n>1)例如:include <stdio.h> float p (int n,int x){ int f;if(n<0){ f = -1;printf("error, n should be larger than 0");} else if(n==0){ f = 1;} else if (n==1){ f = x...

递归法求n阶勒让德多项式,Pn={1,n=0 x,n=1 ((2n-1)*x-Pn-1(x)-(n...
递归公式:1 (n=0)pn(x)=x (n=1)((2n-1)xpn-1(x)-(n-1)pn-2(x))\/n (n>1)在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。 递归一词还较常用于描述以自相似方法重复事物的过程。 例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。 也...

C语言!!求改错!!求n阶勒让德多项式值
在编写C语言程序求解n阶勒让德多项式值时,关键在于正确计算勒让德多项式函数值的递归表达式。具体表达式为:else r=((2*a-1)*b*lrd(a-1,b)-(a-1)*lrd(a-2,b))\/a;其中,a和b是函数参数,lrd代表递归调用勒让德多项式函数。在实现时,容易出现的错误在于表达式中的系数“2*a”被错误地写...

C语言 用递归法求n阶勒让德多项式的值
首先把你的float p改成int p再说,int,float,double,char的占用字节不同,而且p函数中返回的是Int数据,可是他是一个float数据,打印的时候又是d%,都是些基础问题啊。另外一些问题是那个公式,不能那么写的。你把原题发出来,我给你写吧。。。记得用到一些数学公式的时候记得加#include <math.h> ...

C语言用递归方法求n阶勒让德多项式的值
n,x);int main(){ int x,n;scanf("%d%d",&n,&x);printf("%.2f\\n",polya(n,x));return 0;} double polya(int n,int x){ double y;if(n==0)y=1;if(n==1)y=x;if(n>1)y=((2*n-1)*x*polya(n-1,x)-(n-1)*polya(n-2,x))\/n;return y;} 运行结果:...

用递归方法求n阶勒让德多项式
n,x);int main(){ int x,n;scanf("%d%d",&n,&x);printf("%.2f\\n",polya(n,x));return 0;} double polya(int n,int x){ double y;if(n==0)y=1;if(n==1)y=x;if(n>1)y=((2*n-1)*x*polya(n-1,x)-(n-1)*polya(n-2,x))\/n;return y;} 运行结果:...

相似回答