What command/s can I use to multiply matrices M_G and M_A via Transfer Matrix Method N times given N pairs?
1 次查看(过去 30 天)
显示 更早的评论
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)];
7 个评论
Jan
2022-5-26
@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.
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!