How can I use one variable to extract specific observations from another variabel?

1 view (last 30 days)
I have a variable (A) signalling to buy or sell another variable (B) (if A is negative; sell (positive; buy). What is the easiest way to extract all the "buys" and "sells" from variable B in different datasets (so I have one dataset "Buy" and one dataset "Sell") based on the information in A? For example if A is;
  • -2
  • -1
  • 2
  • 3
And B is;
  • 5
  • 10
  • 8
  • 4
I want to have an ouput of two datasets; "Buy" with 4 and 8, and "Sell" with 5 and 10.
Any help is much appreciated! Best wishes for the new year!

Accepted Answer

Wayne King
Wayne King on 27 Dec 2012
Edited: Wayne King on 27 Dec 2012
You can use logical indexing on A to select the appropriate elements of B
A = [-2 -1 2 3];
B = [5 10 8 4];
buyz = B(A>0);
sellz = B(A<0);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!