How can I calculate and plot rayleigh scattering equation?
13 次查看(过去 30 天)
显示 更早的评论
hi, I want to plot and calculate rayleigh equation.I wrote it , calculated and plotted.But it does not match the graph in my book.Here is my code.Thx for your help.
clear all
freq=6.*10.^8;
omeg=2.*pi.*freq;
eps0=(10.^-9)./(36.*pi);
mu0=4.*pi.*10.^-7;
k=omeg.*sqrt(eps0.*mu0);
lambda=2.*pi./k;
R=0.01:0.00366:0.07957;
N_cut=20;
for n=1:N_cut
hankel2(n,:)=sqrt(pi*k*R).*besselh(n+0.5,1,k*R);
hankel2der(n,:)=-
n.*sqrt(pi.*k./(2.*R)).*besselh(n+0.5,2,k.*R)+k.*sqrt(pi.*k.*R./2).*besselh(n-
0.5,2,k.*R);
A_e(n,:)=(((-1).^n)).*(2.*n+1)./(hankel2(n,:).*hankel2der(n,:));
end
Ae=sum(A_e,2);
f_Ae=((lambda.^2)./(4.*pi)).*(abs(Ae)).^2;
figure
plot(R,f_Ae)
grid on
2 个评论
Ahmed A. Selman
2013-4-5
Please use formatted syntax, clarify the specific equation you want to plot, and it would be helpful for anyone if you could refer to the (graph in your book) with something on the internet for comparison of what this nicely-written code produces. At least, mention the book you are referring to. I've copied the code to my editor, and couldn't see why is it not working for you. If you clarified it better, someone could properly assist you.
采纳的回答
Youssef Khmou
2013-4-5
编辑:Youssef Khmou
2013-4-5
hi, How is the graph you are expecting ? i altered the oscillating frequency to F=6Ghz . take a look at this code , and try also with f=6E+8 Hz ( the original freq you posted ), N_cut is augmented to 200 points .
clear all
freq=6.*10^9; % 6 GHz
omeg=2.*pi.*freq; % Angular frequency in RAD/Second
eps0=(10.^-9)./(36.*pi); % Absolute permittivity in FARAD/Meter
mu0=4.*pi.*10.^-7; % Absolute permeability
k=omeg.*sqrt(eps0.*mu0); % Wave Vector
lambda=2.*pi./k; %wavelength in Meter
N_cut=200;
R=linspace(0.01,0.07957,N_cut); % Radius....
for n=1:N_cut
hankel2(n,:)=sqrt(pi*k*R).*besselh(n+0.5,1,k*R);
A=-n.*sqrt(pi.*k./(2.*R)).*besselh(n+0.5,2,k.*R);
B=+k.*sqrt(pi.*k.*R./2).*besselh(n-0.5,2,k.*R);
hankel2der(n,:)=A+B;
A_e(n,:)=(((-1).^n)).*(2.*n+1)./(hankel2(n,:).*hankel2der(n,:));
end
Ae=sum(A_e,2);
f_Ae=((lambda.^2)./(4.*pi)).*(abs(Ae)).^2;
figure,plot(R,f_Ae),grid on
figure, plot(R,f_Ae), grid on, axis([0.01 0.02 0 0.012])
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!