Generating combination of matrix with 3 elements
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to optimally generate a 100 matrix, of size MxN using the combination of 3 elements (0,1,2) and save them into seperate mat files. Can someone please help. I dont want to generate the matrix randomly.
Réponse acceptée
David Hill
le 16 Fév 2022
Modifié(e) : David Hill
le 16 Fév 2022
So each row of 12 elements can only contain the elements [0 1 2] ? Are there any other contrains? How many times can each element be repeated in each row? Why don't you want to generate the matrix randomly?
A=[repmat([0 1 2],1,12)];
N=zeros(64,12,100);
for m=1:100
for k=1:100
M(k,:)=A(randperm(numel(A),12));
end
M=unique(M,'rows');
N(:,:,m)=M(1:64,:);
end
5 commentaires
David Hill
le 17 Fév 2022
It is always much easier to code using indexing instead of having a bunch of variables. A 3D matrix (N) can be indexed to obtain all 100 of your 2D matrices.
M1=N(:,:,1);%is a 2D matrix
M2=N(:,:,2);%is a 2D matrix
M3=N(:,:,3);%is a 2D matrix
M100=N(:,:,100);%is a 2D matrix
All 100 of your 2D matrices are stored in a single 3D matrix.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Pattern Recognition and Classification 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!