What command/s can I use to multiply matrices M_G and M_A via Transfer Matrix Method N times given N pairs?

6 views (last 30 days)
Craig Egan Allistair Tan on 23 May 2022
Commented: Jan on 26 May 2022
lambda_0 = 0.980; % Cavity length of DBR mirror in micron
d_G = 0.06975562993; % Thickness of GaAs layer in micron
d_A = 0.08148984639; % Thickness of AlAs layer in micron
lambda = 0.9:0.01:1.1; % Wavelength range in micron
n_G = @(lambda) sqrt(10.906+(0.97501./(lambda.^2-(0.52886)^2))-... % Index of refraction of GaAs as a function of wavelength
0.002467.*lambda.^2)
n_A = @(lambda) sqrt(7.986+(0.97501./(lambda.^2-(0.19886)^2))-... % Index of refraction of AlAs as a function of wavelength
0.0059457.*lambda.^2)
M_G = @(lambda) [cos((2*pi*d_G.*n_G(lambda))./lambda)... % Characteristic Matrix of GaAs
(-i./n_G(lambda)).*sin((2*pi*d_G.*n_G(lambda))./lambda);...
-i.*n_G(lambda).*sin((2*pi*d_G.*n_G(lambda))./lambda)...
cos((2*pi*d_G.*n_G(lambda))./lambda)];
M_A = @(lambda) [cos((2*pi*d_A.*n_A(lambda))./lambda)... % Characteristic Matrix of AlAs
(-i./n_A(lambda)).*sin((2*pi*d_A.*n_A(lambda))./lambda);...
-i.*n_A(lambda).*sin((2*pi*d_A.*n_A(lambda))./lambda)...
cos((2*pi*d_A.*n_A(lambda))./lambda)];
Jan on 26 May 2022
@Craig Egan Allistair Tan: Okay. I do neither know, what AIAs, GaAs means, nor what "N" is, nor where do you want to apply which kind of Transfer Matrix, nor what reflectivity or DBR structure is.
All I know, is that you have defined 2 anonymous functions, which reply a [2 x 2] matrix, if you use a scalar as input and that your lambda is a vector instead.
I cannot help you, because the problem is not getiing clear to me.

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!