vector confusion

2 visualizaciones (últimos 30 días)
Leor Greenberger
Leor Greenberger el 22 de Sept. de 2011
I have a vector A whose values are indices for vector P.
Say A = 2 occurs 10 times.
If I do:
P(A) = P(A) + 1
P(2) = 1 % not 10
I believe I understand why this is happening. Is there a solution without going into FOR loops? A could be quite large.
  2 comentarios
the cyclist
the cyclist el 22 de Sept. de 2011
I do not understand what you mean by "A = 2 occurs 10 times". Can you write out code for what you mean?
Leor Greenberger
Leor Greenberger el 22 de Sept. de 2011
A = [1 2 4 5 2 4 6 7 2 ....] <-- 2 occurs 10 times.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 22 de Sept. de 2011
Especially if you are starting with an all-zero array, use
P = accumarray(A(:),1);
  1 comentario
Leor Greenberger
Leor Greenberger el 22 de Sept. de 2011
excellent!!! I can't believe there is a function for this!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by