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

matrixvector

Hello
I have a matrix (1001×50001) 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)

Best Answer

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.