MATLAB: Как проверить, является ли какой-либо элемент в моей матрице nan и сделать что-то, если это так
Я знаю, что могу использовать isnan для проверки отдельных элементов, таких как
for i=1:m
for j=1:n
if isnan(A(i,j))
do something
end
end
end
однако вместо этого я хочу сделать
if any(isnan(A))
do something
end
когда я пытался это сделать, он не входит в аргумент, потому что он считается ложным. Если я просто наберу any(isnan(A)), Я просто 1 0 1.
Так как же мне это сделать?
1 ответов
any(isnan(A(:)))
С A матрица, isnan(A) также является матрицей и any(isnan(A)) - это вектор, а if оператор действительно хочет скалярный ввод. С помощью (:) нотации плющит A в вектор, независимо от первоначального размера.