Count vector position in a matrix
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    steve Brian
 el 9 de Abr. de 2020
  
    
    
    
    
    Comentada: the cyclist
      
      
 el 10 de Abr. de 2020
            Hi all. I need an algorithm, which takes my first element (! = 0) from an array and checks that element in a vector that already contains the elements of the matrix (! = 0) and begins to count the position it is in. Once it has found the respective element, it adds its position in another vector.
Ex: I have A = [ 2 3 4 0; 
                         8 7 0 0; 
                         2 0 1 3]
VectorA= [ 2 3 4 8 7 2 1 3] (elements != 0)
rowptr = [1 4 6]
Explain:
2 is in position 1 in the vectorA -> rowptr = [ 1
8 is in position 4 in the vectorA -> rowptr = [ 1 4
2 is in position 6 -> rowptr = [1 4 6]
A little help, please!
0 comentarios
Respuesta aceptada
  the cyclist
      
      
 el 9 de Abr. de 2020
        Here's one way:
tmp = cumsum(sum(A~=0,2))
rowptr = [1; tmp(1:end-1)+1];
2 comentarios
  the cyclist
      
      
 el 10 de Abr. de 2020
				Hm. I believe it worked on your example.
I'd be curious to see an example where this algorithm does not work, and your solution.
Maybe you should post your own code as a solution, and accept it, rather than accepting my incorrect solution.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Neural Simulation 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!

