Want to insert a matrix in a for loop and change it with a variable

Illustration
Ashi Khajotia - 2023-04-20T11:30:38+00:00
Question: Want to insert a matrix in a for loop and change it with a variable

Hello,   So, I have a variable phi(1x41) changing with lambda(1x41) and there is matrix (2x2) inside a for loop that needs to be changed with phi but the dimension of matrix should be (2x2x41) instead of (2x42) as it shown in workspace. Can anyone help me in this?   d1 = 0.1077; lam = 3:0.1:7; th = 0; n1 = 2.32; for j = 1:length(lam) phi1 =2*pi.*(d1./lam).*sqrt((n1).^2 - sind(th).^2); P1 = [exp(1i.*phi1) 0; 0 exp(-1i.*phi1)]; end  

Expert Answer

Profile picture of Prashant Kumar Prashant Kumar answered . 2025-11-20

d1 = 0.1077;
lam = 3:0.1:7;
th = 0;
n1 = 2.32;

%Define phi1 outside the loop as it is not varying with the loop
phi1 = 2*pi.*(d1./lam).*sqrt((n1).^2 - sind(th).^2);
numlam = numel(lam);
%Preallocation
P1 = zeros(2,2,numlam);

for j = 1 : numlam
   P1(:,:,j) = [exp(1i.*phi1(j)) 0; 0 exp(1i.*phi1(j))];
end

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!