用c语言编写勒让德函数 c语言求n阶勒让德多项式

C语言编程关于阶勒让德多项式的1.勒让德多项式是描述矩形表面和口径用c语言编写勒让德函数的另外一组多项式集合用c语言编写勒让德函数,它的优点是具有正交性 。由于存在正交性条件 , 高阶项系数趋于零,并且增加和删除一个项对其用c语言编写勒让德函数他项没有影响 。不过,这个多项式集合通常不在光学设计软件中使用 。
2.C语言实现代码:
#includestdio.h
floatp(floatx,intn)
{
floatp_n;
if(0==n)
{p_n=1;}
elseif(1==n)
{
p_n=x;
}
else
{
p_n=((2*n-1)*x-p(x,n-1)-(n-1)*p(x,n-2))/n;
}
returnp_n;
}
main()
{
intn;
printf("inputn:");
scanf("%d",n);
floatx;
printf("inputx:");
scanf("%f",x);
printf("%f",p(x,n));
}
求改C语言 , 调用递归函数,求勒让德多项式【用c语言编写勒让德函数 c语言求n阶勒让德多项式】#includestdio.h
int
main()
{
int
lerande(int
n,int
x);//上下保持一致
int型
int
n,y;//p没用到
int
x;
printf("请输入阶数:");
scanf("%d",n);
printf("请输入x的值:");
scanf("%d",x);
y=lerande(n
,x);//传两个参数就行
printf("%d阶勒让德多项式的值:%d\n",n,y);
}
int
lerande(
int
n
,
int
x
)//int
形的
不能返回float值
{
int
f
;
if(
n
==
)
{
f
=
1
;
}
else
if(
n
==
1
)
{
f
=
x
;
}
else
{
f=(2*n-1)*x;
f=f-lerande(n-1
,
x
);//传的参数要有两个
f=f-(n-1)*lerande(n-2
,
x
);
f=f/n;
}
return(f);
}
.exe
-
error(s),
warning(s)
c语言:用递归方法编写程序,求n阶勒让德多项式的值#define _CRT_SECURE_NO_WARNINGS
#includestdio.h
#includestdlib.h
double legendre(int n, int x) {
if (n == 0) {
return 1;
}
if (n == 1) {
return x;
}
return ((2 * n - 1)*x - legendre(n - 1, x) - (n - 1)*legendre(n - 2, x)) / n;
}
void main() {
int n;
int x;
printf("请输入n的值和x的值\n");
scanf("%d %d", n, x);
printf("P%d(%d) = %f\n", n, x, legendre(n, x));
system("pause");
}
扩展资料:
勒让德多项式
勒让德多项式是下列勒让德微分方程的多项式解:
其中n 为正整数 。
生成函数
勒让德多项式的生产函数为
前几个勒让德多项式:
正交关系
勒让德多项式在(-1,1)取决满足如下的正交关系式:
用c语言编写勒让德函数的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语言求n阶勒让德多项式、用c语言编写勒让德函数的信息别忘了在本站进行查找喔 。

    推荐阅读