Generating wavepackets in MATLAB

28 views (last 30 days)
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!

Accepted Answer

Youssef  Khmou
Youssef Khmou 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.
  5 Comments
Youssef  Khmou
Youssef Khmou on 31 Jan 2018
Edited: Youssef Khmou 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 on 31 Jan 2018
Edited: Sergio Manzetti on 31 Jan 2018
Thanks for this Youssef, this was indeed clear. I will try it out!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!