MATLAB Answers

0

Generating wavepackets in MATLAB

Asked by Sergio Manzetti on 25 Jan 2018
Latest activity Edited by Sergio Manzetti on 31 Jan 2018
Hi, I am trying to generate wavepackets for a complex function using MATLAB, however, I am not sure on the approach. Does MATLAB Forum have a suggestion?
Thanks!

  0 Comments

Sign in to comment.

1 Answer

Answer by Youssef Khmou
on 26 Jan 2018
 Accepted Answer

Among the methods for generating wavepackets is linear superposition, considering the spatial dimension x, an elementary complex wavepacket can be generated as follows:
x=-20:0.005:20;
w=20;
dw=0.1;
y=exp(j*w*x)+exp(j*(w-dw)*x)+exp(j*(w+dw)*x);
plot(x,real(y));
the parameter dw is the frequency difference between the components, and has an impact on coherence length.

  5 Comments

Thanks Youssef. One particular feature I was looking for was to find the wavepacket for the Schrödinger eqn. I have not found such an example on software tutorial etc.
As an illustrative example, consider the 1D wavefunction of particle localized at x0=5 at t=0 with variables w and k:
x=0:0.01:10;
x0=5;
w=2;
k=2;
t=0;
the waveform can be generated by:
f=cos(k*(x-5)-w*t).*exp(-(k*(x-5)-w*t).^2);
for different values of t=1,2,..., you can compute the corresponding wavefunction.
Thanks for this Youssef, this was indeed clear. I will try it out!

Sign in to comment.