vector confusion

2 visualizzazioni (ultimi 30 giorni)
Leor Greenberger
Leor Greenberger il 22 Set 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 Commenti
the cyclist
the cyclist il 22 Set 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 il 22 Set 2011
A = [1 2 4 5 2 4 6 7 2 ....] <-- 2 occurs 10 times.

Accedi per commentare.

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by