How to put Multiple Parallel Entries in Vectors?

1 Ansicht (letzte 30 Tage)
Eleazar
Eleazar am 21 Dez. 2012
I have q=zeros(20,1) and x=[3;4;5;6;7;8;9;1;2;3;4;5]
If I declare q(x,1)=1 then I get:
q=[1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0].
And if later I apply q(x,1)=q(x,1)+1 then I get:
q=[2;2;2;2;2;2;2;2;2;0;0;0;0;0;0;0;0;0;0;0].
So, using only MATLAB, how can I get with q(x,1)=q(x,1)+1 this result:
q=[2;2;3;3;3;2;2;2;2;0;0;0;0;0;0;0;0;0;0;0] ??
-Ele

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 21 Dez. 2012
q = q + accumarray(x, 1, size(q));

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by