Azzera filtri
Azzera filtri

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

2 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Dr. Seis
Dr. Seis il 30 Apr 2012
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)

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