作者bobobo0510 (阿囧)
看板MATLAB
标题[讨论] 有办法把这个matlab档回推回一条公式吗?
时间Sat May 18 11:25:41 2013
大家好,小弟想请问有人可以帮我把以下档案
回推成一条折射率与波长的关系式吗?
一开始是参数设定333.3333e-9~3000e-9之间每1e-9间隔算一次
小弟我想计算的公式是当代入一个lambda时与折射率的关系式,
档案档案内容如下,请各位大大帮帮忙,谢谢大家。
lambda=[333.3333:1:3000]*1e-9;
q=1.6e-19; % electron charge (C)
c=3e8; % Speed of Light (m/s)
hbar=6.625e-34/2/pi; % Plank Constant/2/pi (J*s)
k0=2*pi./lambda;
w=c*k0; % Angular frequency
wp=9.17*q/hbar; %Plasma frequency (1/s)
f_osc=[1, 2.2]; % Oscilator Strength
Gama_osc=[0.021, 1.14]*q/hbar; % Transition Damping factor (1/s)
w_osc= [0, 5.27]*q/hbar; % Transition frequency (1/s)
emR=ones(size(w));
emI=zeros(size(w));
emRG=ones(size(w));
% Calculation of Ag Permittivity
for I=1:length(f_osc)
emR=emR+f_osc(I)*wp^2./(w_osc(I)^2-w.^2-i*w*Gama_osc(I));
emRG=emRG+f_osc(I)*real(wp^2*(w.^2+w_osc(I)^2)./(w_osc(I)^2-w.^2-i*w*Gama_osc(I)).^2);
end
emI=-1*imag(emR);
emR=real(emR);
em=emR+i*emI;
n_em=sqrt(em);
em_rad=emR;
n_rad=sqrt(em_rad);
if (imag(n_rad)> 0)
n_rad=-1*n_rad;
end
fprintf('Ag refractive index');
[lambda', transpose(n_em)]
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.121.222.86
1F:嘘 ericabab:这里不是作业板... 05/18 14:47
2F:→ bobobo0510:对不起...因为package没办法读matlab我只能想办法转换 05/18 20:48
3F:→ vaakaa:先请原po一行一行搞懂code在做什麽 有哪边不懂再讨论 05/18 23:56
4F:→ bobobo0510:恩。抱歉,我会先好好自己研究。 05/20 01:59