MATLAB Plotting atomic orbitals on matlab

AI Thread Summary
The discussion focuses on plotting atomic orbitals p(x) and d(xy) in MATLAB. The user provides the mathematical definitions for the orbitals, specifically 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. The goal is to visualize these functions on the xy-plane by setting z=0, using mesh or surf commands, and to create contour plots as well. The user successfully implements the surfc() function to generate surface plots with contours for both orbitals, sharing the MATLAB code and images of the plots. The discussion invites further questions or clarifications regarding the plotting process.
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,190
  • pxy0.png
    pxy0.png
    12.8 KB · Views: 1,502

Similar threads

Replies
8
Views
2K
Replies
2
Views
3K
Replies
4
Views
2K
Replies
4
Views
2K
Replies
1
Views
4K
Back
Top