MATLAB: How To Efficiently Remove NaN Elements from Matrix

Я ищу способ эффективного удаления NaN чисел из матрицы в MATLAB (т.е. без использования цикла for)

Я приведу быстрый пример для иллюстрации того, чего я пытаюсь достичь:

Скажем, у меня есть матрица M:

          3.00          1.00
          1.00          3.00
           NaN           NaN
          3.00          3.00
          1.00          1.00
           NaN           NaN
           NaN           NaN
           NaN           NaN
           NaN           NaN
           NaN           NaN

Я хотел бы найти способ изменить это на

          3.00          1.00
          1.00          3.00
          3.00          3.00
          1.00          1.00

В настоящее время я пытаюсь сделать это через M(isfinite(M)), но это заканчивается возвращением вектора вместо матрицы. Есть ли хитрость, чтобы вернуть матрицу?

20
задан Berk U. 5 March 2011 в 08:40
поделиться