vector confusion

4 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)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by