Plotting atomic orbitals on matlab

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
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,224
  • pxy0.png
    pxy0.png
    12.8 KB · Views: 1,541