Sum elements in matrix if equal to value in another element
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I have the matrix OVEC, which consists of a number of column vectors with numbers
How do I sum all the elements in each column between row 2 and end if their values are the same as the value in row 1? The procedure should return a row vector of width size(OVEC(1,:))
So if
 OVEC = [ 1 2 3 4 5 6
          1 1 1 1 1 1
          1 6 4 5 5 5
          4 4 4 4 4 3];
then I should return the row vector [2, 0, 0, 1, 0]
I tried:
 Osumvec = sum(ovec(2:end)==ovec(1,:),1)
But my code is erroneous.
3 comentarios
Respuestas (2)
  Thorsten
      
      
 el 7 de Oct. de 2014
        To sum the elements
for i=1:size(ovec, 2)
  r(i) = sum(ovec(find(ovec(2:end,i)==ovec(1,i))+1, i)); 
end
To count the elements
for i=1:size(ovec, 2)
  r(i) = sum(ovec(2:end,i)==ovec(1,i));
end
0 comentarios
Ver también
Categorías
				Más información sobre Creating and Concatenating Matrices 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!



