How to remove rest of the rows of a Column once it reaches a certain value
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have an autocorrelation function that needs to be integrated only up to where the time threshold first drops below Zero.
So I have a matrix such as A = [ 1 2 7 -2 0 2 9 1 2 0 9 -5].
I want to get A1 = [ 1 2 7 ].
How can I do this?
0 Commenti
Risposte (1)
Walter Roberson
il 28 Giu 2021
AZ = A(find(~A,1)-1)
However, find can be a bit heavy. Sometimes it can be faster to do
AZ = A(1:sum(cumprod(logical(A))))
This processes the entire vector multiple times, but sometimes it can be better than find. Especially if you have a 2D array that you want to do this kind of selection for on a per-row or per-column basis.
2 Commenti
Vedere anche
Categorie
Scopri di più su Matrices and Arrays in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!