Matrix of statuses or matching; discrete one-to-one mapping

Hello,
I need to create all possible matricies of zeros and ones, where the sums of rows and columns is 1, while the size of the matrix is NxK, where N and K are predefined variables. Is there a simple function for this problem?

 Réponse acceptée

You can't do this with any old NxK matrix, it must be a square NxN matrix. Otherwise your condition, that the sums of individual rows are 1 and sums of individual cols are also 1, will not be valid. There isn't a simple function (that I know of), but there is a simple solution (provided you are not trying to find for large N). See the example below for N = 4:
N = 4;
A = eye(N);
B = perms(1:N);
C = zeros(N,N,size(B,1));
for ii = 1 : size(B,1)
C(:,:,ii) = A(:,B(ii,:));
end
disp(C)

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by