[討論] 有辦法把這個matlab檔回推回一條公式嗎?

看板MATLAB作者 (阿囧)時間12年前 (2013/05/18 11:25), 編輯推噓-1(013)
留言4則, 3人參與, 最新討論串1/1
大家好,小弟想請問有人可以幫我把以下檔案 回推成一條折射率與波長的關係式嗎? 一開始是參數設定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
對不起...因為package沒辦法讀matlab我只能想辦法轉換
05/18 20:48, 2F

05/18 23:56, , 3F
先請原po一行一行搞懂code在做什麼 有哪邊不懂再討論
05/18 23:56, 3F

05/20 01:59, , 4F
恩。抱歉,我會先好好自己研究。
05/20 01:59, 4F
文章代碼(AID): #1HblIt9M (MATLAB)