C语言 | 用递归求n阶勒让德多项式

例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阶勒让德多项式
更多案例可以go公众号:C语言入门到精通

猜你喜欢

转载自blog.csdn.net/weixin_48669767/article/details/113371045