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

1 view (last 30 days)
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.
Thanks for the help in advance

Accepted Answer

Stephan
Stephan on 6 Jul 2020
Edited: Stephan on 6 Jul 2020
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

More Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!