Info

Store the values of matrix within a for loop and perform a series of calculations

1 view (last 30 days)
Nikolaos Zafirakis on 10 Jul 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
A = (1:100,1)
B = (1:100,1)
C = (1:100,1:3)
for ind = 1:length(la)
Z2(:,:,ind) = [cos(A(ind,:)) 0 -sin(A(ind,:));0 1 0;sin(A(ind,:)) 0 cos(A(ind,:))];
Z3(:,:,ind) = [cos(B(ind,:)) sin(B(ind,:)) 0;-sin(B(ind,:)) cos(B(ind,:)) 0;0 0 1]; % Up until here everything works perfectly I get a series of multiple matrices!
Tran(:,:,ind) = mtimes((transpose( mtimes( Z2(:,:,ind) , Z3(:,:,ind)))) , (C(ind,:))); % The issue is the calculation errors here and I don't know how to fix this!
end

Navya Seelam on 17 Jul 2019
Hi,
Firstly, the line A=(1:100,1) gives error. So, try using this
A= [1:100 1];
When ind=1, in case of Z2, dimensions of arrays being concatenated do not match. Same is the case with Z3. So, make sure that the matrix dimensions match when concatenating. In case of Tran, re-check if the matrix dimensions match for multiplication.
For more details check the MATLAB documentation