⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mie2_esquare.m

📁 MieMatlabMaetzler.zip 非常全功能的Mie散射程序 matlab
💻 M
字号:
function result = Mie2_Esquare(eps1, mu1, x, nj)



% Computation of nj+1 equally spaced values within (0,x)

% of the mean-absolute-square internal 

% electric field of a sphere of size parameter x, 

% for given complex permittivity and permeability

% ratios eps1=eps1'+ieps1", mu1=mu1'+imu1" between inside and outside 

% of the sphere and size parameter x=k0*a 

% where the averaging is done over teta and phi,

% with unit-amplitude incident field;

% Ref. Bohren and Huffman (1983) BEWI:TDD122,

% and my own notes on this topic; x=k0.*radius; 

% Input: eps1, mu1, x, nj (number of radial values)

% C. M鋞zler, July 2002



m=sqrt(eps1.*mu1);            % refractive index ratio

nmax=round(2+x+4*x^(1/3));

n=(1:nmax);  nu =(n+0.5); 

m1=real(m); m2=imag(m);

abcd=Mie2_cd(eps1,mu1,x);

cn=abcd(1,:);dn=abcd(2,:);

cn2=abs(cn).^2;

dn2=abs(dn).^2;

dx=x/nj;

for j=1:nj,

    xj=dx.*j;

    z=m.*xj;

    sqz= sqrt(0.5*pi./z);

    bz = besselj(nu, z).*sqz;      % This is jn(z)

    bz2=(abs(bz)).^2;

    b1z=[sin(z)/z, bz(1:nmax-1)];  % Note that sin(z)/z=j0(z)

    az = b1z-n.*bz./z;

    az2=(abs(az)).^2;

    z2=(abs(z)).^2;

    n1 =n.*(n+1);

    n2 =2.*(2.*n+1);

    mn=real(bz2.*n2);

    nn1=az2;

    nn2=bz2.*n1./z2;

    nn=n2.*real(nn1+nn2);

    en(j)=0.25*(cn2*mn'+dn2*nn');

end;

xxj=[0:dx:xj]; een=[en(1) en];



plot(xxj,een);



legend('Radial Dependence of (abs(E))^2')

title(sprintf('Squared Amplitude Field in a Sphere, m=%g+%gi, x=%g',m1,m2,x))

xlabel('r k')



result=een;    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -