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

2 vues (au cours des 30 derniers jours)
Milani Tharuka
Milani Tharuka le 6 Juil 2020
Commenté : Milani Tharuka le 6 Juil 2020
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

Réponse acceptée

Stephan
Stephan le 6 Juil 2020
Modifié(e) : Stephan le 6 Juil 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
  1 commentaire
Milani Tharuka
Milani Tharuka le 6 Juil 2020
Thank you very much for your answer and for the prompt reply stephan

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by