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

2 次查看(过去 30 天)
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?

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by