How to plot wave function for finite square well? [Physics question]
조회 수: 21 (최근 30일)
이전 댓글 표시
A question addressed to other physicist among the MATLAB community:
Considering a finite sqaure well potential:
It turns out for this certain potential a symmetric wave function can be found that fits inside
Whit constants and with the energy Eof the particle and usual physical constants.
In addition the energy has to be quantised acording to as well as
Now when I atempt plotting the piecewise wave function I don't really get continous pieces:
Ce = 1.6e-19;
scale = 1e-10;
L = 2*scale;
m = 9.109*1e-31;
h = 1.05*1e-34;
V = 100*Ce;
syms k
k = vpasolve(k*tan(L/2*k) == sqrt(2*m/h^2*V-k^2),k);
beta = k*tan(L/2*k);
dx = 0.01*scale; n = 2; x1 = -L/2*n:dx:-L/2; x2 = -L/2:dx:L/2; x3 = L/2:dx:L/2*n;
C = 1; A = 1;
psi1 = C*exp(beta*x1); psi2 = A*cos(k.*x2); psi3 = C*exp(-beta*x3);
plot(x1,psi1); hold on; plot(x2,psi2); hold on; plot(x3,psi3)
I don't right know if I messed up the physics or the code itself.
댓글 수: 2
채택된 답변
Star Strider
2022년 3월 11일
I do not know what it supposed to look like, however to get a continuous plot, horizongally concatenate the respectrive row vectors —
Ce = 1.6e-19;
scale = 1e-10;
L = 2*scale;
m = 9.109*1e-31;
h = 1.05*1e-34;
V = 100*Ce;
syms k
k = vpasolve(k*tan(L/2*k) == sqrt(2*m/h^2*V-k^2),k);
beta = k*tan(L/2*k);
dx = 0.01*scale; n = 2; x1 = -L/2*n:dx:-L/2; x2 = -L/2:dx:L/2; x3 = L/2:dx:L/2*n;
C = 1; A = 1;
psi1 = C*exp(beta*x1); psi2 = A*cos(k.*x2); psi3 = C*exp(-beta*x3);
plot(x1,psi1); hold on; plot(x2,psi2); hold on; plot(x3,psi3)
figure
plot([x1,x2,x3], [psi1,psi2,psi3])
grid
.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!