问题遇到的现象和发生背景 :改变m,l,n所得图像与实际氢原子电子云图不符
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法 :改变坐标轴范围,
我想要达到的结果
n=input('import the principal quantum number: ');
l=input('enter angle quantum number:');
colordef white;
a0=5.29e-11; %玻尔半径%
i=15000;
r=12*a0*rand(1,i);
Nr=4*factorial(n+l)/(a0^3*n^4*factorial(n-l-1)*factorial(2*l+1)*factorial(2*l+1)); %径向归一化系数%
F=0;
for k=0:n-l-1
F=F+(-1)^k*factorial(n-l-1)*factorial(2*l+1)*(2*r/(n*a0)).^k/(factorial(n-l-1-k)*factorial(2*l+1+k)*factorial(k)); %合流超几何多项式%
end
wr=Nr*exp(-2*r/(n*a0)).*(2*r/(n*a0)).^(2*l).*F.^2.*r.^2; %径向概率%
theta=pi*rand(1,i);
phi=2*pi*rand(1,i);
Y=legendre(l,sin(theta)); %连带勒让德函数%
m=0;
Nj=factorial(l-m)*(2*l+1)/(factorial(l+m)*4*pi); %角向归一化系数%
wj=(-1)^(2*m)*Nj*Y(m+1,:).^2; %角向概率%
w=wr.*wj; %总概率%
wm=max(w(:)); %取概率最大值作为比较标准%
[x,y,z]=sph2cart(theta,phi,r);
A=rand(1,i)*wm;
subplot(1,1,1);
axis([-0.5e-11 0.5e-11 -0.5e-11 0.5e-11 -0.5e-11 0.5e-11]);
p=A<=w;
plot3(x(p),y(p),z(p),'b.','MarkerSize',2);