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

📄 mieexample.m

📁 用Matlab编写的Mie theory计算程序。在光子学中运用广泛
💻 M
字号:
% MieExample.m

clear
disp('=============')

%%%%
% USER CHOICES
%%%
lambda = 0.6328; % um, wavelength of light in vacuo
dia = 0.1; % um, diameter of sphere
density = 190; % #/um^3, density of spheres
npar = 1.59; % particle refractive index (polystyrene)
nmed = 1.33; % medium refractive index (water)
%%%%%%%%%

m = npar/nmed + 0i; % real and imaginary
% polystyrene spheres are non-absorbing for mid visible wavelengths

x = pi*dia/(lambda/nmed);

u = Mie(m, x)'; % <----- Matlzer's subroutine

qsca = u(5);
g    = u(8);

A       = pi*dia^2/4; % um^2
sigma_s = qsca*A; % um^2
mus     = sigma_s*density*1e4; % cm^-1
musp    = mus*(1-g); 

disp('----- choice:')
disp(sprintf('lambda  \t= %0.3f um', lambda))
disp(sprintf('dia     \t= %0.3f um', dia))
disp(sprintf('density \t= %0.3f um', density))
disp('----- result:')
disp(sprintf('real(m) \t= %0.3f', u(1)))
disp(sprintf('imag(m) \t= %0.3e', u(2)))
disp(sprintf('x       \t= %0.3e', u(3)))
disp(sprintf('qext    \t= %0.3e', u(4)))
disp(sprintf('qsca    \t= %0.3e', u(5)))
disp(sprintf('qabs    \t= %0.3e', u(6)))
disp(sprintf('qb      \t= %0.3e', u(7)))
disp(sprintf('asy       \t= %0.4f', u(8)))
disp(sprintf('qratio  \t= %0.3e', u(9)))
disp('----- optical properties:')
disp(sprintf('mus  \t= %0.3f cm^-1', mus))
disp(sprintf('g       \t= %0.4f', g))
disp(sprintf('musp  \t= %0.3f cm^-1', musp))

⌨️ 快捷键说明

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