Generating combination of matrix with 3 elements
4 次查看(过去 30 天)
显示 更早的评论
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.
采纳的回答
David Hill
2022-2-16
编辑:David Hill
2022-2-16
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 个评论
David Hill
2022-2-17
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Pattern Recognition and Classification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!