计算物理期末试题与答案.docx
《计算物理期末试题与答案.docx》由会员分享,可在线阅读,更多相关《计算物理期末试题与答案.docx(12页珍藏版)》请在冰豆网上搜索。
计算物理期末试题与答案
2015-2016年度第二学期
《计算物理》期末考查试题
班级:
应物13-2学号:
31313350207姓名:
赖宁
1.编程求解量子力学习题1.1,
,根据不同的计算精
度(精确到3位、4位、5位有效数字),算出X的值(给出程序和计算结果)。
programt1
implicitnone
real:
:
x,s
dox=3,5,0.001
s=(x*exp(x))/(exp(x)-1)
if(abs(s-5)=<0.001)
Print*,x
endif
enddo
endprogram
3位:
4.9648324位:
4.9650205位:
4.965107
2.两个相互垂直方向的简谐振动,其运动方程为:
,
画出两个频率不同(满足
),振幅相等、相互垂直而相位差分别为0、
、
下的质点轨迹曲线(利萨如图。
注:
其中振幅、频率和初相位由自己选定)。
相位差0:
相位差:
π/8
相位差:
π/4
3.对圆盘轴线上一点电场强度E的大小可以表示为
,采用解析法和矩形、梯形积分法编程计算E的大小,其中
,
米,分别取R为0.01,0.1,10米,观察E随R的变化(给出程序和计算结果,注:
积分程序要求自己编写)。
梯形法:
programT3
implicitnone
real:
:
r,x,a,b,dx,s,x1,x2,y1,y2
integer:
:
i
a=8.9E-12
b=0.5
x=0.01
s=0
r=10
dx=r/1000
doi=0,1000
x1=dx*i
x2=dx*(i+1)
if(x2y1=(b*x*x1)/(2*a*sqrt((x**2+x1**2)**3))
y2=(b*x*x2)/(2*a*sqrt((x**2+x2**2)**3))
s=s+(y1+y2)*dx/2
endif
enddo
print*,s
endprogram
结果:
0.01时:
8.217409E+09
0.1时:
2.529181E+10
10时:
2.526753E+10
4.在某电路实验中,测得电压V与电流I的一组数据如下表:
Vi
1
2
3
4
5
6
7
8
Ii
15.3
20.5
27.4
36.6
49.1
65.6
87.8
117.6
试拟合电流I随电压的变化函数关系(给出拟合结果并图示)。
5.绘制两个单位异号、同号点电荷在其所在平面的电势分布,两个点电荷分别在x轴线上处于
和
的位置。
同号电荷要求画出V=3,2,1,0.75,0.5等势线,异号电荷画出V=3,2,1,0.75,0.5,-0.5,-0.75,-1,-2,-3的等势线,并在图中用圆圈标出正电荷,十字为负电荷(令
)。
同种电荷:
异种电荷:
6.利用蒙特卡罗方法计算定积分
,请给出其求解原理与计算步骤(具体模拟方法、计算程序和结果)。
程序如下:
programmain
implicitnone
integerk,m,n,idum
realx,y,s
real,external:
:
ran1
n=100000
idum=-1
m=0
dok=1,n
x=ran1(idum)
y=ran1(idum)
if(x*x-y>0)then
m=m+1
endif
enddo
s=4.*float(m)/float(n)
write(*,*)'s=',s
end
FUNCTIONran1(idum)
INTEGERidum,IA,IM,IQ,IR,NTAB,NDIV
REALran1,AM,EPS,RNMX
PARAMETER(IA=16807,IM=2147483647,AM=1./IM,IQ=127773,IR=2836,NTAB=32,NDIV=1+(IM-1)/NTAB,EPS=1.2e-7,RNMX=1.-EPS)
INTEGERj,k,iv(NTAB),iy
SAVEiv,iy
DATAiv/NTAB*0/,iy/0/
if(idum.le.0.or.iy.eq.0)then
idum=max(-idum,1)
do11j=NTAB+8,1,-1
k=idum/IQ
idum=IA*(idum-k*IQ)-IR*k
if(idum.lt.0)idum=idum+IM
if(j.le.NTAB)iv(j)=idum
11continue
iy=iv
(1)
endif
k=idum/IQ
idum=IA*(idum-k*IQ)-IR*k
if(idum.lt.0)idum=idum+IM
j=1+iy/NDIV
iy=iv(j)
iv(j)=idum
ran1=min(AM*iy,RNMX)
return
END
结果为:
s=1.342240
7.模拟氢原子基态(n=1,l=0,m=0)的电子云。
氢原子基态电子分布几率密度函数是
,
其中
D的最大值
,
是D的收敛点(给出模拟方法和模拟结果)。
模拟方法:
1.模拟时先产生一个随机的电子轨道半径r=r0rand
(1),显然有0≤r≤r0,由r计算出D(r)。
2.再产生一个随机的概率判据D0=Dmaxrand
(1),显然
有0≤D0≤Dmax,
3.然后进行判断,如果D(r)之就计算一个随机的角度值,θ=2лrand
(1),
4.最后得到的点的坐标是x=rcosθ;y=rsinθ。
程序如下:
programmain
implicitnone
integern,idum,k
realx,y,r,r0,dr,d0,theta,a
real,external:
:
ran1
open(2,file='F:
\fortran\rand.txt')
n=60000
idum=-1
r0=0.25
a=0.0529
dok=1,n
r=r0*ran1(idum)
dr=4./a**3*r**2*exp(-2/a*r)
d0=1.1*ran1(idum)
if(dr.gt.d0)then
theta=2*acos(-1.)*ran1(idum)
x=r*cos(theta)
y=r*sin(theta)
write(2,*)x,y
endif
enddo
endprogram
FUNCTIONran1(idum)
INTEGERidum,IA,IM,IQ,IR,NTAB,NDIV
REALran1,AM,EPS,RNMX
PARAMETER(IA=16807,IM=2147483647,AM=1./IM,IQ=127773,IR=2836,NTAB=32,NDIV=1+(IM-1)/NTAB,EPS=1.2e-7,RNMX=1.-EPS)
INTEGERj,k,iv(NTAB),iy
SAVEiv,iy
DATAiv/NTAB*0/,iy/0/
if(idum.le.0.or.iy.eq.0)then
idum=max(-idum,1)
do11j=NTAB+8,1,-1
k=idum/IQ
idum=IA*(idum-k*IQ)-IR*k
if(idum.lt.0)idum=idum+IM
if(j.le.NTAB)iv(j)=idum
11continue
iy=iv
(1)
endif
k=idum/IQ
idum=IA*(idum-k*IQ)-IR*k
if(idum.lt.0)idum=idum+IM
j=1+iy/NDIV
iy=iv(j)
iv(j)=idum
ran1=min(AM*iy,RNMX)
return
END