Searching for a value in a column

Hi,
I have a column with incrementing data which occasionally resets to zero. How do I search the column and check that each value isn't smaller than the previous entry? From that point I can simply add the previous value to all future value to remove the zeroing error, but I can't figure out how to scan down the column.
Cheers

 Respuesta aceptada

Walter Roberson
Walter Roberson el 11 de Abr. de 2011
find(diff(YourColumn) < 0)
There might be a way to do your entire operation in one or two commands; it doesn't immediately come to mind, though.

3 comentarios

James
James el 11 de Abr. de 2011
Thanks Walter,
It's always a far simpler solution than you imagine!
Teja Muppirala
Teja Muppirala el 12 de Abr. de 2011
Here's one way to do it in one line:
x = [10 14 17 2 5 6 1 2 3]
x(1) + [0 cumsum( max(diff(x),0) + (diff(x) < 0).*x(2:end))]
Walter Roberson
Walter Roberson el 12 de Abr. de 2011
Well done, Teja. I hadn't figured out a way to handle multiple zeroings; your code takes them in stride nicely.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 11 de Abr. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by