A Varying matrix name in loop

14 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)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!