Есть ли команда в MATLAB, которая позволяет мне находить все элементы NaN (Not-a-Number) внутри массива?
Найти все элементы NaN внутри массива
Ответ 1
Я только что нашел ответ:
k=find(isnan(yourarray))
k будет списком элементов элемента NaN.
Ответ 2
Как уже отмечалось, лучшим ответом является isnan() (хотя +1 для мета-ответа древесной щепы). Более полный пример использования его с логической индексацией:
>> a = [1 nan;nan 2]
a =
1 NaN
NaN 2
>> %replace nan with 0's
>> a(isnan(a))=0
a =
1 0
0 2
isnan (a) возвращает логический массив, массив истинных и ложных - тот же размер, что и a, с "истинным" каждым местом есть нан, который можно использовать для index в.
Ответ 3
Пока isnan - правильное решение, я просто укажу, как его найти. Используйте lookfor. Если вы не знаете имя функции в MATLAB, попробуйте выполнить поиск.
lookfor nan
быстро предоставит вам имена некоторых функций, которые работают с NaN, а также предоставит вам первую строку своих блоков помощи. Здесь он бы перечислил (среди прочего)
ISNAN True для не-номера.
который, безусловно, является функцией, которую вы хотите использовать.