C语言 | 用递归求n阶勒让德多项式
【摘要】 例72:C语言编程用递归方法求n阶勒让德多项式。解题思路:勒让德多项式是描述矩形表面和口径的另外一组多项式集合,它的优点是具有正交性。由于存在正交性条件,高阶项系数趋于零,并且增加和删除一个项对其他项没有影响。勒让德方程的解可写成标准的幂级数形式。当方程满足 |x| < 1 时,可得到有界解(即解级数收敛)。并且当n 为非负整数,即n = 0, 1, 2,... 时,在x = ...
例72:C语言编程用递归方法求n阶勒让德多项式。
解题思路:勒让德多项式是描述矩形表面和口径的另外一组多项式集合,它的优点是具有正交性。由于存在正交性条件,高阶项系数趋于零,并且增加和删除一个项对其他项没有影响。
勒让德方程的解可写成标准的幂级数形式。当方程满足 |x| < 1 时,可得到有界解(即解级数收敛)。并且当n 为非负整数,即n = 0, 1, 2,... 时,在x = ± 1 点亦有有界解。这种情况下,随n 值变化方程的解相应变化,构成一组由正交多项式组成的多项式序列,这组多项式称为勒让德多项式
源代码演示:
#include<stdio.h>//头文件
int main()//主函数
{
int temp,num;//定义整型变量
float num_Polynomial;//定义浮点型变量
float polynomial(int,int);//函数声明
printf("输入num & temp:");//提示语句
scanf("%d,%d",&num,&temp);//键盘输入
num_Polynomial=polynomial(num,temp); //求值
printf("Polynomial=%6.2f\n",num_Polynomial);//输出结果
return 0;//主函数返回值为0
}
float polynomial(int number,int x)//自定义函数
{
if(number==0)//if语句判断number符合哪一个条件
{ return(1);
}
else if(number==1)
{ return(x);
}
else
{ return(2*number-1)*x*polynomial((number-1),x)-(number-1)*polynomial((number-2),x)/number;
}
}
编译运行结果如下:
输入num & temp:5,5
Polynomial=2924185.75
--------------------------------
Process exited after 4.81 seconds with return value 0
请按任意键继续. . .
以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
C语言 | 用递归求n阶勒让德多项式文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/347865607
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)