Home > atmlab > mie > mie_abcd.m

mie_abcd

PURPOSE ^

Computes a matrix of Mie coefficients, a_n, b_n, c_n, d_n,

SYNOPSIS ^

function result = mie_abcd(m, x)

DESCRIPTION ^

 Computes a matrix of Mie coefficients, a_n, b_n, c_n, d_n, 
 of orders n=1 to nmax, complex refractive index m=m'+im", 
 and size parameter x=k0*a, where k0= wave number 
 in the ambient medium, a=sphere radius; 
 p. 100, 477 in Bohren and Huffman (1983) BEWI:TDD122
 C. M�zler, June 2002

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

DOWNLOAD ^

mie_abcd.m

SOURCE CODE ^

0001 function result = mie_abcd(m, x)
0002 
0003 % Computes a matrix of Mie coefficients, a_n, b_n, c_n, d_n,
0004 % of orders n=1 to nmax, complex refractive index m=m'+im",
0005 % and size parameter x=k0*a, where k0= wave number
0006 % in the ambient medium, a=sphere radius;
0007 % p. 100, 477 in Bohren and Huffman (1983) BEWI:TDD122
0008 % C. M�zler, June 2002
0009 
0010 nmax=round(2+x+4*x.^(1/3));
0011 n=(1:nmax); nu = (n+0.5); z=m.*x; m2=m.*m; 
0012 sqx= sqrt(0.5*pi./x); sqz= sqrt(0.5*pi./z);
0013 bx = besselj(nu, x).*sqx;
0014 bz = besselj(nu, z).*sqz;
0015 yx = bessely(nu, x).*sqx;
0016 hx = bx+i*yx;
0017 b1x=[sin(x)/x, bx(1:nmax-1)];
0018 b1z=[sin(z)/z, bz(1:nmax-1)];
0019 y1x=[-cos(x)/x, yx(1:nmax-1)];
0020 h1x= b1x+i*y1x;
0021 ax = x.*b1x-n.*bx;
0022 az = z.*b1z-n.*bz;
0023 ahx= x.*h1x-n.*hx;
0024 
0025 an = (m2.*bz.*ax-bx.*az)./(m2.*bz.*ahx-hx.*az);
0026 bn = (bz.*ax-bx.*az)./(bz.*ahx-hx.*az);
0027 cn = (bx.*ahx-hx.*ax)./(bz.*ahx-hx.*az);
0028 dn = m.*(bx.*ahx-hx.*ax)./(m2.*bz.*ahx-hx.*az);
0029 result=[an; bn; cn; dn];

Generated on Mon 15-Sep-2014 13:31:28 by m2html © 2005