I need to generate all 0/1 matrices
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi, i would like to generate all different 5x5 triangle matrices which just have 0 and 1 as elements.
It's important that i really get all and not just a lot.
Is there a command for it? If not how can i programm it?
I appreciate your help a lot.
Respuesta aceptada
Walter Roberson
el 2 de Jul. de 2013
M = dec2bin(0:2^15-1, 15);
Now each row of M is the content of one triangular matrix, but in linear form. You can pre-construct the linear indices of the triangular matrix you want (upper or lower), and go through assigning through those indices in turn.
Here is a constructor:
AllTriang = arrayfun( @(N) subsassgn(zeros(5,5), struct('type', '()', 'subs', {[1:5 7:10 13:15 19:20 25]}), dec2bin(S, 15)), 0:2^15-1, 'Uniform', 0);
1 comentario
Walter Roberson
el 3 de Jul. de 2013
AllTriang = arrayfun( @(N) subsasgn(zeros(5,5), struct('type', '()', 'subs', {{[1:5 7:10 13:15 19:20 25]}}), dec2bin(N, 15)-'0'), 0:2^15-1, 'Uniform', 0);
Más respuestas (2)
Kevin
el 2 de Jul. de 2013
Editada: Kevin
el 2 de Jul. de 2013
%This will flip through the linear indexes of a matrix and turn each value into % a binary one
A = rand(5)
for p=1:end
if A(p)<=.5
A(p)= 0
else
A(p)=1
end
end
Edit: triu(A) and tril(A) return the upper and lower triangular portions of A, respectively. Tack that onto my previous post and you should be all set.
0 comentarios
Ver también
Categorías
Más información sobre Matrices and Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!