1、中心势场粒子散射偏转函数 (b)编译器(Win-TC) ,C 程序。#include #include #include /*a,V0 均默认为位 1*/float f1(float x)float y;y=1./(x*x*x*x*x*x);return(y);float f2(float x)float V;V=4.*(f1(x)*f1(x)-f1(x);return(V);float f3(float x,float y)float theta1;theta1=1./(sqrt(1.-y*y/(x*x)*(x*x);return(theta1);float f4(float x,float
2、 y,float z)float theta2;theta2=1./(sqrt(1.-y*y/(x*x)-f2(x)/z)*(x*x);return(theta2);float f5(float x,float y)float dr=0.02,rmin=3.,drx=0.001;while (drdrx)rmin=rmin-dr;if(1.-(x/rmin)*(x/rmin)-f2(rmin)/y)0) rmin=rmin+dr;dr=dr/2.;return(rmin);void main()int i=1,j=1;float r1,r2,h1,h2,THETA1=0.,THETA2=0.,
3、THETA,b=0.1,E;scanf(“%f“,E);printf(“while E=%fn“,E);while(b=2.4)r1=b;h1=(3.-b)/10000;while(i10000)THETA1=THETA1+h1*f3(r1,b);r1=r1+h1;i=i+1;r2=f5(b,E );h2=(3.-f5(b,E)/10000;while(j10000)THETA2=THETA2+h2*f4(r2,b,E);r2=r2+h2;j=j+1;THETA=2.*b*(THETA1-THETA2);printf(“b=%f,THETA=%f,“,b,THETA);b=b+0.1;getch();