MATLAB Answers

# A Varying matrix name in loop

4 views (last 30 days)
Ahmed Abdulla on 8 Jun 2020
Edited: Stephen Cobeldick on 8 Jun 2020
I have a loop running from i=1 to N where N is unkown and inputted by the user and the commands in the loop generates a matrix and i would like the first loop to give me matrix1 and the second loopd to give me matrix2 so the matrix name is changed based on the i value, but im not really sure how to go about this problem

#### 1 Comment

Stephen Cobeldick on 8 Jun 2020
"... matrix1 ... matrix2 so the matrix name is changed based on the i value..."
The simple, efficient, and strongly recommended approach is just to use indexing, e.g. with a cell array:

Sign in to comment.

### Accepted Answer

KSSV on 8 Jun 2020
Edited: KSSV on 8 Jun 2020
N = 10;
matrix = cell(N,1) ;
for i = 1:N
matrix{i} = rand(3) ;
end
Trust me, there is no meaning in naming as matrix1, matrix2,........ rather you can use the above and call them by
matrix{1}
matrix{2}
This is called cell referencing. Read about cells.

#### 0 Comments

Sign in to comment.

### More Answers (1)

madhan ravi on 8 Jun 2020
N = 2; % example
matrix = cell(N,1);
for k = 1:N
matrix{k} = rand;
end
celldisp(matrix)

#### 1 Comment

madhan ravi on 8 Jun 2020

Sign in to comment.

R2019b

### Community Treasure Hunt

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

Start Hunting!