贡献者: addis
以下代码绘制自由粒子的高斯波包(式 4 )的动画。代码将生成 Nt
张图片,可以由 “用 Matlab 制作 gif 动画” 中的代码制作 gif 动图。
% === 参数 (原子单位) ===
m = 1;
x0 = 0;
p0 = 2;
sig_x = 2;
xmin = -10; xmax = 100; Nx = 500;
tmin = 0; tmax = 35; Nt = 150;
ax = [xmin, xmax, -0.5, 0.5];
% ==============
close all;
t = linspace(tmin, tmax, Nt);
x = linspace(xmin, xmax, Nx);
figure; set(gcf, 'Unit', 'Normalized', 'Position', [0.1, 0.1, 0.4, 0.3]);
for it = 1:Nt
psi = 1/(2*pi*sig_x^2)^0.25/sqrt(1 + 1i*t(it)/(2*m*sig_x^2))...
*exp(-(x-x0-p0*t(it)/m).^2/(2*sig_x)^2/(1 + 1i*t(it)/(2*m*sig_x^2)))...
.*exp(1i*p0*(x-p0*t(it)/(2*m)));
clf;
plot(x, real(psi)); hold on;
plot(x, imag(psi));
axis(ax); xlabel 'x [au]'; ylabel \psi;
title(['t = ' num2str(t(it), '%.2f') ' [au]']);
set(gca, 'FontSize', 12);
saveas(gcf, [num2str(it) '.png']);
end
 
 
 
 
 
 
 
 
 
 
 
友情链接: 超理论坛 | ©小时科技 保留一切权利