How to find prior value to NaN without terminating the loop?

Dear all,
I have following code, which I'm using to find value before NaN. For example I have following vector N=[1 2 3 4 NaN NaN], so I'm looking for value 4, which is before NaN.
And I wondering, is there any other way how I can store only first needed value without terminating it? I have tried to make an array and extract only the first value but it didn't work:
So I simply want to find prior value to NaN without terminating the loop.
Thanks for any help,
I

 Respuesta aceptada

I would do this:
N=[1 2 3 4 NaN NaN];
Idx = find(isnan(N), 1, 'first')-1; % Index Of Element Before First ‘NaN’
BeforeNaN = N(Idx) % Value Of Element Before First ‘NaN’
I created ‘Idx’ separately for clarity, but the two statements could be combined as one if you want to.
The code produces:
BeforeNaN =
4

2 comentarios

Dear Star Strider,
First of all thank you for helping me agian :) That is great and neat solution. Thank you one more time!
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 27 de En. de 2015

Editada:

el 2 de Feb. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by