A Varying matrix name in loop

7 views (last 30 days)
Ahmed Abdulla
Ahmed Abdulla on 8 Jun 2020
Edited: Stephen23 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
Stephen23
Stephen23 on 8 Jun 2020
Edited: Stephen23 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
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.

More Answers (1)

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

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!