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

📄 simulacion_trasm_peli.txt

📁 通过测量光学薄膜的反射率曲线反演其光学常数
💻 TXT
字号:
    
% SCRIPT PARA SIMULAR LA TRASMISION DE UNA PELICULA DELGADA DE POCA ABSORCION 
% VICENTE TORRES ZUNNIGA
% ULTIMA MODIFICACION: 2 AGOSTO 2007 

%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%
% Limpiando la pantalla de variables ocupadas y figuras

%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%

% pARA GENERAR DATOS DE LA SUMULACION 

%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%
% Parametros que se necesitan en el programa y condiciones fisicas
%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%

lambda = (0.2 :0.01:20)*10^(-6); % rango de longitudes (en micras) de onda para observar el espectro de trasmision 

t = (3)*10^(-6);% medicion en micras del espeso 

n_0= 1 ; % indice de refracion antes de llegar a la pelicula delgada, aire 
 
n_1 = 1.5; % indice de refraccion del sustrato donde esta la pelicula delgada, un vidrio comun de portaobjetos
 
n= 2.0 ; % indice de refraccion de la pelicula delgada

k = 0.01; % absorcion de la pelicula 

%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%
% Comienzan calculos

%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%

% alpha 

alpha = exp(-4 *pi *k *t ./lambda);

% simplificacion de la notacion 

C_1 =(n + n_0)*(n_1 + n);
C_2 = (n - n_0)*(n_1 - n);

% maximos y minimos de la curva de trasmitacncia

T_max= 16 *n_0 *n_1 *n^2 *alpha ./ (C_1 + C_2 *alpha ).^2;

T_min =16 *n_0 *n_1 *n^2 *alpha ./ (C_1 - C_2 *alpha ).^2;

% trasmicion aproximada para poca absorcion

T = ( 16* n_0* n_1* n^2 .*alpha ) ./ ( (C_1)^2 + (C_2)^2 .*(alpha.^2) + 2*C_1.* (C_2).*alpha .*cos( 4*pi*n*t ./ lambda )  );

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Para simplificar notacion

N = ((n_0^2 + n_1^2 )/2) + 2.*n_0 .*n_1 .*( (T_max-T_min)./ (T_max .*T_min ) );

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% indice de refraccion calculado 

n_calculado = (N + (N.^2 - n_0^2 *n_1^2 ).^(0.5)).^(0.5);

alpha_calculado = (C_1*(1 - (T_max/T_min).^(0.5) ) )./ (C_2*(1 + (T_max/T_min).^(0.5)));

%t_calculado = (M *lambda_1 *lambda_2)  ./  (2 *( n_lambda_1 *lambda_2 - n_lambda_2 *lambda_1))

k_calculado = ( -log(alpha_calculado) .*lambda) ./(4 *pi *t);

%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%
% VISUALIZACION 
% axes('LineWidth', 3, 'FontSize', 18, 'FontName', 'Arial', 'Box', 'On', 'FontWeight', 'bold');

hold on

%GRAFICAS EN PORCENTAJE

%plot(lambda, 100*T_min, '-.r','LineWidth', 5); % envolvente m韓ima 
%plot(lambda, 100*T_max, '-.r','LineWidth', 5); % envolvente m醲ima
%plot(lambda + .8*10^(-6), 100*T,'LineWidth',4,'Color',[.8 .8 .8]); %una sombra como adorno

plot(lambda, 100*T, 'b','LineWidth', 4); % la grafica principal

%title(['Simulaci髇 de trasmisi髇 de una pel韈ula delgada   n_0 = ',num2str(n_0),  ', n = ',  num2str(n) ,   ', n_1 = ', num2str(n_1), ', t = ', num2str(t),   ', k =  ' , num2str(k)], 'FontSize', 18, 'FontName', 'Arial');
xlabel('', 'FontSize', 36, 'FontName', 'Arial', 'FontWeight', 'bold');

ylabel('', 'FontSize', 36, 'FontName', 'Arial', 'FontWeight', 'bold'); 

axis([min(lambda) max(lambda) min(T) 100]) % ajustando los ejes de la grafica

% FIN

⌨️ 快捷键说明

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