help to multiply matrices in succession

6 views (last 30 days)
Hi,
I initialized this objects:
C = vpa(zeros(4, 4, N));
A = vpa(zeros(4,4,N));
where C is:
for i = 1:N
C(:,:,i) = [(cos(theta(i))) (-sin(theta(i))).*(cos(alpha(i))) (sin(theta(i))).*(sin(alpha(i))) (a(i)).*(cos(theta(i)));
(sin(theta(i))) (cos(theta(i))).*(cos(alpha(i))) (-cos(theta(i))).*(sin(alpha(i))) (a(i)).*(sin(theta(i)));
0 sin(alpha(i)) cos(alpha(i)) d(i);
0 0 0 1];
end
Well, I need that
A(:,:,1)=C(:,:,1);
but elements:
A(:,:,2) ....... A(:,:,N) must be obtained as
A(:,:,2) = C(:,:,1) * C(:,:,2)
A(:,:,3) = C(:,:,1) * C(:,:,2) * C(:,:,3)
etc
....
A(:,:,N) = C(:,:,1) * C(:,:,2) * C(:,:,3) * ....* C(:,:,N)
some tips ?

Accepted Answer

Matt Fig
Matt Fig on 21 Nov 2012
Edited: Matt Fig on 21 Nov 2012
% For example:
C = randi(10,2,2,3)
A = cumprod(C,3)
Or perhaps you meant:
A(:,:,1) = C(:,:,1);
for ii = 2:size(C,3)
A(:,:,ii) = A(:,:,ii-1)*C(:,:,ii);
end
  3 Comments
Matt Fig
Matt Fig on 21 Nov 2012
Hello Marco, did you see the second option?

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!