# How to assign matrices to an array in a for loop

8 views (last 30 days)
Michael Boyte on 26 Sep 2022
Answered: Rik on 26 Sep 2022
I would like to create an array that holds matrices that are calculated in a for loop.
For example, I would like to calculate matrix A and have it be assigned to matrices(1) and then calculate matrix B and have it assigned to matrices(B) and so on so that I can calculate A*B*...*n later.
I have tried:
for i = 1:5
matrices(i) = [i*1 i*2 i*3; i*4 i*5 i*6; i*7 i*8 i*9];
end
but I get this error:
Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
Is there a way to do what I am wanting to do?

Rik on 26 Sep 2022
You can use a cell array:
for i = 1:5
matrices{i} = [i*1 i*2 i*3; i*4 i*5 i*6; i*7 i*8 i*9];
end

### Categories

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

### Community Treasure Hunt

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

Start Hunting!

Translated by