plot the probability distribution from Schrodinger Equation

12 views (last 30 days)
Hi everyone,
I have been trying t plot this probability of a function in 3D space with the following coding, but it always gives a blank plot. I'll appriciate your help.
The function is:
f(x,y,z) = 8*sqrt(sin(k*x)*sin(k*y)*sin(k*z)) on the interval: 0<x<1, 0<y<1, and 0<z<1. Note that k = n*pi/a, in this case a =1 and n = 1.
>> n=1; a=1;
>> x = linspace(0,0.01,1);
>> y = linspace(0,0.01,1);
>> z = linspace(0,0.01,1);
>> [X,Y,Z] = meshgrid(x,y,z);
>> f = 8.*sqrt(sin(n*pi*x/a).*sin(n*pi*y/a).*sin(n*pi*z/a));
>> figure
>> scatter3(f,X,Y,Z)

Accepted Answer

Star Strider
Star Strider on 11 Oct 2021
It gives a blank plot because the linspace calls are only producing one element. The third argument to linspace is the number of elements desired in the vector it produces. An argument of 1 returns the beginning point (first argument) and stops.
I am not certain what the desired result is, however here are two possibilities —
n=1; a=1;
x = linspace(0,0.01,25);
y = linspace(0,0.01,25);
z = linspace(0,0.01,25);
[X,Y,Z] = meshgrid(x,y,z);
f = @(x,y,z) 8.*sqrt(sin(n.*pi.*x/a).*sin(n.*pi.*y/a).*sin(n.*pi.*z/a));
figure
scatter3(X(:),Y(:),f(X(:),Y(:),Z(:)), '.')
figure
isosurface(X,Y,Z,f(X,Y,Z), 5E-13)
grid on
view(60,30)
I leave the rest to you.
.

More Answers (2)

Paul
Paul on 10 Oct 2021
scatter3() is used to plot points in 3D space. But f is really a function of three variables, so you'll need an alternative to visualize f. Check the doc page for visualizing volume data.

VBBV
VBBV on 11 Oct 2021
Edited: VBBV on 11 Oct 2021
n=1; a=1;
x = linspace(0,0.01,10); % change the number of points to 10
y = linspace(0,0.01,10);
z = linspace(0,0.01,10);
%[X,Y,Z] = meshgrid(x,y,z);
f = 8.*sqrt(sin(n*pi*x/a).*sin(n*pi*y/a).*sin(n*pi*z/a));
figure
scatter3(x,y,f,'filled')
Meshgrid may not be necessary in your code, if you want to use scatter3 function,

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!