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

3 vues (au cours des 30 derniers jours)
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)

Réponse acceptée

Ameer Hamza
Ameer Hamza le 1 Mai 2020
Modifié(e) : Ameer Hamza le 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 commentaires
Mikkel Christensen
Mikkel Christensen le 1 Mai 2020
That's amazing, that did the trick.
Thank you very much!!!
Ameer Hamza
Ameer Hamza le 1 Mai 2020
Great. I am glad to be of help.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Descriptive Statistics and Visualization dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by