dec2bin ast n=25
    2 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Quynh tran
 el 13 de Jun. de 2017
  
    
    
    
    
    Comentada: Quynh tran
 el 14 de Jun. de 2017
            Dear all, I want to create a matrix including number 0 and 1. but only 10 number 1 in a row. for example:
    A=[1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
       0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 
       0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
       ......]
|but with command dec2bin, the limitation is only to n=20 because if n=25, it's over the memory of computer with this inform "Requested 1073741823x1 (8.0GB) array exceeds maximum array size preference. Creation of arrays greater than this limit may take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information". | Could we have another way to make this matrix. Thanks
0 comentarios
Respuesta aceptada
  Walter Roberson
      
      
 el 14 de Jun. de 2017
        N = 20;
chunksize = 2^10;   %must divide 2^N
ten1s = [];
for K = 0 : chunksize : 2^N - 1
   this_chunk = K : K + chunksize - 1;
   these_bits = dec2bin(this_chunk, N);
   mask = sum(these_bits == '1', 2) == 10;
   ten1s = [ten1s; uint8(these_bits(mask,:) - '0')];
 end
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

