finding the index of NaN

27 ビュー (過去 30 日間)
Julia Smith
Julia Smith 2022 年 7 月 2 日
編集済み: MJFcoNaN 2022 年 7 月 2 日
Consider the array A:
A = [10 30 NaN 30]
When I use the expressin below, a new logical array is created with columns with a value of 1 for elements of A equal to 30:
A == 30
>> 0 1 0 1
But why does not the expression below works and it outputs with all columns with a value of 0, although the third element should be 1 as it is a NaN:
A == NaN
>> 0 0 0 0

回答 (1 件)

MJFcoNaN
MJFcoNaN 2022 年 7 月 2 日
編集済み: MJFcoNaN 2022 年 7 月 2 日
You may use "isnan"
A = [10 30 NaN 30]
A = 1×4
10 30 NaN 30
isnan(A)
ans = 1×4 logical array
0 0 1 0
PS: There is a tip from help document
"NaN values are not equal to each other. As a result, comparison operations involving NaN return false, except for the not equal operator ~=. For example, NaN == NaN returns logical 0 (false) but NaN ~= NaN returns logical 1 (true)."

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by