How can I name matrices generated by a for loop as Z1,Z2,Z3 ...etc.

M
Maxwell · Jul 15, 2020 · 2.3K views
Question
for (i=1:x1) for(j=1:x2)   Z=zeros(N,M)   end end   For example if x1=4,x2=4,N=8,M=8 I will have 16 zero matrices(8*8).All are named as z. I need to name them as z1,z2,z3 ... etc.
Expert Answer
Profile picture of Prashant Kumar
Prashant Kumar PhD Expert
Answered Aug 10, 2026

There are a lot of contributions (one of the best is here) which show why this way of coding is bad - use an efficient way by indexing and take advantage of the methods Matlab gives you:

 

N = 3;
M = 4;
x1 = 2;
x2 = 2;
Z = zeros(N,M,x1*x2)

gives you a 3D-matrix which has size x1*x2 in the third dimension

Z(:,:,1) =

     0     0     0     0
     0     0     0     0
     0     0     0     0


Z(:,:,2) =

     0     0     0     0
     0     0     0     0
     0     0     0     0


Z(:,:,3) =

     0     0     0     0
     0     0     0     0
     0     0     0     0


Z(:,:,4) =

     0     0     0     0
     0     0     0     0
     0     0     0     0
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!