referencing arrays

5 次查看(过去 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 中查找有关 Cell Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by