Filter löschen
Filter löschen

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 Ansichten (letzte 30 Tage)
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 Kommentare
Ive J
Ive J am 12 Sep. 2021
A = [randi([-10 10], 4, 1), randi([20 100], 4, 3)]
A = 4×4
3 20 63 45 -6 20 45 45 -6 33 54 80 10 99 48 61
idx = A(:, 1) > 0; % positive indices only
newA = A(idx, :)
newA = 2×4
3 20 63 45 10 99 48 61

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 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 Kommentare

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by