Plotting atomic orbitals on matlab

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 9K views
Scientist94
Messages
10
Reaction score
0
Hi guys

I've been having some trouble plotting the p(x) and d(xy) atomic orbitals on Matlab.

I have been given that p(x) = x*e^-(x^2 + y^2 + z^2)^0.5

and d(xy) = x*y*e^-(x^2 + y^2 x^2)^0.5

Now I want to plot these orbitals on MATLAB using mesh or the surf command and then plot the corresponding contour plots with the contour command. Now the first stage is to just plot them on the xy plane setting z=0 (as a function of x and y) f(x,y).

Can anyone offer some advice on this?

Thanks
 
Physics news on Phys.org
Here is a jumping off point. I plotted p(x,y,0) and d(x,y) using surfc(), which is a surf plot with contours. The images are attached below.

Let me know if you have questions!

Code:
px = @(x,y,z) x.*exp(-sqrt(x.^2+y.^2+z.^2));
dxy = @(x,y) x.*y.*exp(-sqrt(x.^2+y.^2.*x.^2));

[X,Y] = meshgrid(-4:0.2:4,-4:0.2:4);
Z = px(X,Y,0);
Z1 = dxy(X,Y);

figure;
surfc(X,Y,Z)
title('p(x,y,0)')

figure;
surfc(X,Y,Z1)
title('d(x,y)')
 

Attachments

  • dxy.png
    dxy.png
    12.3 KB · Views: 1,227
  • pxy0.png
    pxy0.png
    12.8 KB · Views: 1,543