📄 simulacion_trasm_peli.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 + -