[討論] 有辦法把這個matlab檔回推回一條公式嗎?
大家好,小弟想請問有人可以幫我把以下檔案
回推成一條折射率與波長的關係式嗎?
一開始是參數設定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
噓
05/18 14:47, , 1F
05/18 14:47, 1F
→
05/18 20:48, , 2F
05/18 20:48, 2F
→
05/18 23:56, , 3F
05/18 23:56, 3F
→
05/20 01:59, , 4F
05/20 01:59, 4F