How to solve Index out of bounds because numel(A)=4
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
My aim is to generate the intensity profile for the output light passing through a polariser and an analyser for different angles of analyser . I am cosidering a gaussian light beam.
gaussian function-
function H = my_gaussian(n, sigma)
two_sigma_sq = 2*sigma*sigma;
H = zeros(n);
for i = 1:n
for j = 1:n
x = i - n/2;
y = j - n/2;
H(i,j) = exp(-(x*x + y*y)/two_sigma_sq);
end
end
end
Intensity profile-
H = my_gaussian(256, 50) ;
Ph = 0; E1 = cosd(Ph); E2 = sind(Ph);
E = [E1 ; E2];
Th = [0 30 90];
for i = 1:length(Th)
A11 = cosd(Th(i))*cosd(Th(i));
A12 = cosd(Th(i))*sind(Th(i));
A21 = cosd(Th(i))*sind(Th(i));
A22 = sind(Th(i))*sind(Th(i));
A = [A11, A12; A21, A22]
O = A(i)*E
I = O'*O
IP = I*H;
figure, imshow(IP);axis image;colorbar;
end
I can put maximum 3 values of Th, it gives me correct answer but as soon as I put 4 values, the 4th value is Incorrect. If I try putting more than 4 values error comes up saying
" Attempted to access A(5); index out of bounds because numel(A)=4.
Error in Untitled2 (line 31)
O = A(i)*E "
What should I change in this program?
1 commentaire
Réponse acceptée
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Lighting, Transparency, and Shading dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!