Azzera filtri
Azzera filtri

Generating combination of matrix with 3 elements

1 visualizzazione (ultimi 30 giorni)
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.
  3 Commenti
Jan
Jan il 16 Feb 2022
Modificato: Jan il 16 Feb 2022
I don't get it: Why 100 matrices? What kind of combinations do you mean? If they are not random, what procedure is wanted instead?
perms(0:2)
ans = 6×3
2 1 0 2 0 1 1 2 0 1 0 2 0 2 1 0 1 2
And now?
By the way: This is not twitter: no hash before the tags.
Shourya
Shourya il 16 Feb 2022
@David Hill @Jan I am sorry about that. I want to generate 100 mat files in more optimal way when it comes to the series of 3 elements in a row. I dont want to repeat the rows in a matrix. My matrix size is 64x12. Is there a way I can do it?

Accedi per commentare.

Risposta accettata

David Hill
David Hill il 16 Feb 2022
Modificato: David Hill il 16 Feb 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 Commenti
David Hill
David Hill il 17 Feb 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.
Shourya
Shourya il 15 Mar 2022
Hello David, I shall do that thank you for the solution!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by