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

1 回表示 (過去 30 日間)
Michael Boyte 2022 年 9 月 26 日

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 2022 年 9 月 26 日
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

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

### Community Treasure Hunt

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

Start Hunting!

Translated by