how to filling a matrix
    8 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    dakhli mohamed
 el 28 de Dic. de 2018
  
    
    
    
    
    Comentada: dakhli mohamed
 el 29 de Dic. de 2018
            how to fill a matrix of size 180 * 180 by results obtained by another program knowing that I will go through the matrix in a way 4 * 4 example
The first box must be filled by 3 values of 1 and a 0 by the following four boxes by 2 values of 1 and two values of 0, the following four values a value of 1 and a value of 0, and so on. at the end of the matrix 180 * 180
note: the number of values of 1 and 0 is the output of another program and it is the program entry that I am developing it
Resulat=[1,0,1,1,0.0,.........
               1,1,0,0.0.1,..........]
4 comentarios
Respuesta aceptada
  Image Analyst
      
      
 el 28 de Dic. de 2018
        Well you could use blockproc() to march along the data one element at a time and replacing the output block with the number of zeros specified in the input block in random locations.  This requires the Image Processing Toolbox.  Essentially it's
outputMatrix = blockproc(outputMatrix,[windowSize windowSize], myFilterHandle)
A full demo is attached.

A =
     4     2     1     4     1
     4     4     4     2     4
     1     3     3     4     2
     1     4     4     4     2
outputMatrix =
     1     1     1     1     0     0     1     1     0     0
     1     1     0     0     0     1     1     1     0     1
     1     1     1     1     1     1     0     1     1     1
     1     1     1     1     1     1     1     0     1     1
     1     0     1     1     1     1     1     1     1     1
     0     0     1     0     0     1     1     1     0     0
     0     0     1     1     1     1     1     1     0     1
     1     0     1     1     1     1     1     1     1     0
Note how each 2x2 block of the output array has as many 1's in it as the corresponding number in the input array A.
6 comentarios
  Image Analyst
      
      
 el 28 de Dic. de 2018
				It already IS saved in a variable called outputMatrix. 
If you want to store it to a file on disk that another program can read in, you can use save():
fileName = fullfile(pwd, 'outputMatrix.mat')
save(fileName, 'outputMatrix');
then, in the other program use load():
s = load(fileName);
outputMatrix = s.outputMatrix;
Más respuestas (1)
  Omer Yasin Birey
      
 el 28 de Dic. de 2018
        
      Editada: Omer Yasin Birey
      
 el 28 de Dic. de 2018
  
      Hi dahkli, try this
result = eye(180);
for i = 1:numel(result)
    temp = rand>(0.25*mod(i,3));
    result(i) = temp;
end
2 comentarios
Ver también
Categorías
				Más información sobre Convert Image Type en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





