added mc_init
[physik/computational_physics.git] / bessel_1.c
1 #include <stdio.h>
2 #include <math.h>
3 #include "g_plot.h"
4 #include "general.h"
5
6 #define EPSILON .0001
7 #define MAX_L 100
8 #define R_STEP 0.1
9 #define MAX_R 30
10
11 int main(int argc, char **argv) {
12         int l;
13         // int fd;
14         int i;
15         double r;
16         double t;
17         double delta=2*EPSILON;
18         double Jl,Jl_1;
19
20         /*
21         if(argc!=2) {
22                 printf("usage: %s file\n"argv[0]);
23                 return 1;
24         }
25         */
26
27         // for(l=0:l<MAX_L;l++)
28         l=1;
29
30         for(r=0;r<MAX_R;r+=R_STEP) {
31
32         /* fd */
33         // fd=gp_init(argv[1]);
34
35         i=1;
36         t=1/(fak2(2*l-1));
37         Jl_1=t;
38         t=t/(2*l+1);
39         Jl=t;
40         delta=2*EPSILON;
41         while(delta>EPSILON) {
42                 t*=-(r*r)/(2*i);
43                 Jl_1+=t;
44                 t*=(1./(2*l+1+i));
45                 Jl+=t;
46                 delta=absolute_value(t/Jl);
47                 i++;
48         }
49         printf("%f %f %f (i=%d)\n",r,Jl,Jl_1,i);
50
51         }
52         // gp_close(fd);
53         return 1;
54 }
55
56