How do I display only positive numbers from a matrix, i.e column 1 has to be positive to display the corresponding 3 columns of data?
21 views (last 30 days)
Show older comments
I have column 1 which shows the index returns for each day, the next 3 columns are stock price returns from the corresponding day. There are currently days displaying a negative return for the index and the 3 stock prices next to it. I want to code that I only want to display the positive index returns and the corresponding stock prices of that same day.
2 Comments
Ive J
on 12 Sep 2021
A = [randi([-10 10], 4, 1), randi([20 100], 4, 3)]
idx = A(:, 1) > 0; % positive indices only
newA = A(idx, :)
Answers (1)
Walter Roberson
on 12 Sep 2021
mask = find(rets >= 0);
prets = rets(mask);
pprice = price(mask+1,:);
rets(K) is calculated based upon both price(K+1,:) and price(K,:) so it is not clear which of the two days you would want to have displayed. Here I chose to have it associated with the second day rather than the first.
3 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!