referencing arrays

6 次查看(过去 30 天)
Trader
Trader 2012-4-5
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?

回答(2 个)

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

Jan
Jan 2012-4-5
action = {'short' 'long' 'waiting' 'short'};
result = profit(strcmp('short', action));
  2 个评论
Trader
Trader 2012-4-6
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 2012-4-6
profit: [455x1 double]
action: {455x1 cell}

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Operators and Elementary Operations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by