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

1 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2015-1-27
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by