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

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

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)

Categories

Find more on Financial Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!