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
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