plot the probability distribution from Schrodinger Equation

조회 수: 9 (최근 30일)
Hasan Al Tarify
Hasan Al Tarify 2021년 10월 10일
답변: Star Strider 2021년 10월 11일
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)

채택된 답변

Star Strider
Star Strider 2021년 10월 11일
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.
.

추가 답변 (1개)

Paul
Paul 2021년 10월 10일
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.

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by