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

Illustration
Maxwell - 2020-07-15T14:33:20+00:00
Question: How can I name matrices generated by a for loop as Z1,Z2,Z3 ...etc.

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 answered . 2025-11-20

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


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!