referencing arrays

3 views (last 30 days)
Trader
Trader on 5 Apr 2012
I have 2 arrys that are the same size, I'd like to use the values from one array to reference values in the other.
Example
action =
['short']
['long']
['waiting']
['short']
profit =
[-50.00]
[100.00]
[0]
[20.00]
I'd like to take the profit values where action = 'short' and put them into a third array called results.
so results = [-50.00] [20.00]
what is the best way to do this?

Answers (2)

Sean de Wolski
Sean de Wolski on 5 Apr 2012
action = {
['short']
['long']
['waiting']
['short']};
profit = {
[-50.00]
[100.00]
[0]
[20.00]};
results = profit(ismember(action,'short'))

Jan
Jan on 5 Apr 2012
action = {'short' 'long' 'waiting' 'short'};
result = profit(strcmp('short', action));
  2 Comments
Trader
Trader on 6 Apr 2012
Jan - when I run your code i get a 0x0 cell. There is definitely data in the profits column and 'short' in my action array. Both action and profit are cell arrays, would this make a difference? Do I need cell2mat before doing all of this?
Trader
Trader on 6 Apr 2012
profit: [455x1 double]
action: {455x1 cell}

Sign in to comment.

Categories

Find more on Cell Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!