Clear Filters
Clear Filters

Sum and Sort Values from Multiple Vectors

1 view (last 30 days)
I have a numerical vector:
Time = [10 23 54 50]
This corresponds to the string vector:
Place = [A B C A]
And another string vector:
Unique = [A B C]
How do I count these so that I get the following result:
x = [60 23 54]
This is just a snippet of the actual data - the full data set is at least 5000 long. I figured an if loop would work but I'm having trouble visualising and writing the code out.
Any help would be much appreciated. Thanks :)
  2 Comments
per isakson
per isakson on 26 May 2019
Edited: per isakson on 26 May 2019
A B C are they names of variables or what?
Patrick Rungrugeecharoen
Patrick Rungrugeecharoen on 26 May 2019
They're variables yes in the form of strings.

Sign in to comment.

Accepted Answer

KSSV
KSSV on 26 May 2019
Time = [10 23 54 50]
place = {'A' 'B' 'C' 'A'}
place_unique = unique(place)
N = length(place_unique) ;
iwant = zeros(N,1) ;
for i = 1:N
iwant(i) = sum(Time(strcmp(place,place_unique{i}))) ;
end
iwant

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!