How to multiply matrices using for loop?

Hello there,
i would like to mutiply three matrices.
i have an array which has stored 100 different values of the three matrices. i.e
y1 =x.out(:,:,1); x1=x.db(1); w1=diag(fastexp(x1));
y2=x.out(:,:,2); x2=x.db(2); w2=diag(fastexp(x2));
. . .
. . .
y100=x.out(:,:,100); x100=x.db(100) w100=diag(fastexp(x100));
z=y1 * w1* y1' * y2 * w2 * y2' * y3 * w3 * y3' * .........................................* y100 * w100* y100'
Kindly assist.
Thanks in advance.

2 Comments

What are the sizes? What is fastexp()?
fastexp() is for calculating the exponential of x1.
y1 = 1x2
w1 = 2x2
y1' = 2x1

Sign in to comment.

 Accepted Answer

Stephen23
Stephen23 on 5 Jan 2021
Edited: Stephen23 on 5 Jan 2021
z = 1;
for k = 1:100
y = x.out(:,:,k);
w = diag(fastexp(x.db(k)));
z = z * y * w * y';
end

1 Comment

This worked.
Your assistance was highly appreciated. Thanks

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!