Generating wavepackets in MATLAB

Asked by Sergio Manzetti

Sergio Manzetti (view profile)

on 25 Jan 2018
Latest activity Edited by Sergio Manzetti

Sergio Manzetti (view profile)

on 31 Jan 2018
Accepted Answer by Youssef Khmou

Youssef Khmou (view profile)

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!

Tags

Answer by Youssef Khmou

Youssef Khmou (view profile)

on 26 Jan 2018

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.

Sergio Manzetti

Sergio Manzetti (view profile)

on 30 Jan 2018
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.
Youssef Khmou

Youssef Khmou (view profile)

on 31 Jan 2018
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.
Sergio Manzetti

Sergio Manzetti (view profile)

on 31 Jan 2018
Thanks for this Youssef, this was indeed clear. I will try it out!