Only keep positve values from a matrix and plot the last of those values.

3 Ansichten (letzte 30 Tage)
Hello
I have a matrix (1001x50001) and I want to plot the last potive value of each column. The problem is that the last positve value changes position every now and then to the next row.
How do I plot a graph of these value?
I have tried to save all the positve elements from the matrix as a new variable, but I end up with a very long vector.
sPositive = s(s>0)

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 1 Mai 2020
Bearbeitet: Ameer Hamza am 1 Mai 2020
try this
s = randn(100, 200); % random vector
[~,r] = max(flipud(s)>0);
r = size(s,1)-r+1;
c = 1:size(s,2);
idx = sub2ind(size(s), r, c);
s_positive = s(idx);
s_positive is the first positive value in each column.
  8 Kommentare
Mikkel Christensen
Mikkel Christensen am 1 Mai 2020
That's amazing, that did the trick.
Thank you very much!!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Descriptive Statistics and Visualization finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by