I need to generate all 0/1 matrices
    6 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 Logical 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!



