plot the probability distribution from Schrodinger Equation

3 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 (1)

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.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!