plotting Intensity function which consists of an exponential sum

3 vues (au cours des 30 derniers jours)
Elinor Ginzburg
Elinor Ginzburg le 25 Mar 2020
hello,
Im trying to plot the followin function in matlab:
where k=10,d=1,A=1,0.1,0.01, epsilon is a random number between [0,1], the summation n is from 1 to 20 and theta goes from [-pi/2,pi/2]
I've written this code:
% param defenition %
L=100; N=20; d=1; k=10; Ar=1;
A=0.1;
theta=linspace(-pi/2,pi/2,200);
phase=(d+A*epsilon)*sin(theta);
epsilon=rand(0,1);
function psi = Psi(x)
psi=1;
for n=1:N
psi=psi+(exp(i*k*phase).^n);
end
end
I=([abs(psi)].^2);
fplot(I,[-pi/2,pi/2])
but when I try to run it, I get nothing printed in the figure. what did I do wrong?
Thank you very much for your time and attention.
  3 commentaires
Elinor Ginzburg
Elinor Ginzburg le 26 Mar 2020
thank you for your reply, but it still doesn't work. perhaps you have another idea? now it looks like this:
%% Question 03 %%
% param defenition %
L=100; N=20; d=1; k=10; Ar=1;
A=0.1;
theta=linspace(-pi/2,pi/2,200);
epsilon=rand(0,1);
phase=(d+A*epsilon)*sin(theta);
psi=1;
for n=1:N
psi=psi+(exp(i*k*phase).^n);
end
I=((abs(psi)).^2);
plot(I)
Sriram Tadavarty
Sriram Tadavarty le 26 Mar 2020
rand(0,1) returns empty vector. So instead provide rand(1,1)

Connectez-vous pour commenter.

Réponses (1)

Birdman
Birdman le 26 Mar 2020
Try this:
L=100; N=20; d=1; k=10; Ar=1;
A=0.1;
theta=linspace(-pi/2,pi/2,200);
epsilon=rand;
phase=(d+A*epsilon)*sin(theta);
psi=1;
for n=1:N
psi=psi+(exp(1i*k*phase).^n);
end
I=((abs(psi)).^2);
plot(I)
  2 commentaires
Elinor Ginzburg
Elinor Ginzburg le 26 Mar 2020
it worked! thank you so much! I had no idea I need to use rand instead of rand(0,1). how can you keep track between all the changes in different versions? thanks once again!
Birdman
Birdman le 26 Mar 2020
I pay attention to details :) you are welcome.

Connectez-vous pour commenter.

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by