问题及代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*
Copyright(c)2017,CSDN学院行者-
All rights reserved.
文件名称:main.c
作者:乔帅
完成日期:2018年1月21日
版本号:v1.0
问题描述:Bessel函数
输入描述:输入任意的n和x!=0
程序输出:求Jn(x)
*/
int main()
{
double jn , j0 , j1 , x;
int n , i;
scanf("%d %lf", &n , &x);
j0=sin(x)/x;
j1=sin(x)/(x*x)-cos(x)/x;
for(i=2 ; i<=n ; i++){
jn = (2*i-1)*j1/x-j0;
j0 = j1;
j1 = jn;
}
printf("jn = %.5fn",jn);
return 0;
}
运行结果:
知识点总结:
1.迭代法应用
学习心得:
由于第26行jn本应代表jn+1,所以后面的2*i+1应该换算为2*i-1