Finding the position of a cell within a Matrix

5 visualizaciones (últimos 30 días)
Charnkamal Bhogal
Charnkamal Bhogal el 5 de Jun. de 2020
Comentada: Charnkamal Bhogal el 5 de Jun. de 2020
Hello Fellow Developer,
i have been given a 100x13 Matrix with Integers in it. But in one cell there is NaN written in it.
I know that the cell with NaN is in column two, so I tried the following code: But my Variable k never changes to one.
for i=1:100
if Matrix(i, 2) == 'NaN'
k = 1
end
end

Respuesta aceptada

KSSV
KSSV el 5 de Jun. de 2020
Editada: KSSV el 5 de Jun. de 2020
Read about isnan.
idx = isnan(Matrix(:,2)) ;
Matrix(idx,:)
% To get the rows
rows = find(idx)

Más respuestas (2)

Ameer Hamza
Ameer Hamza el 5 de Jun. de 2020
Editada: Ameer Hamza el 5 de Jun. de 2020
isnan() is used to detect nan. You can write your code without for-loop
k = any(isnan(Matrix(:,2)))
  4 comentarios
Ameer Hamza
Ameer Hamza el 5 de Jun. de 2020
If you want to find the row, then something like this will work
idx = find(isnan(Matrix(:,2)))
Charnkamal Bhogal
Charnkamal Bhogal el 5 de Jun. de 2020
@Ameer Hamza, @madhan ravi, @Jake Bowd
Thanks for your replys

Iniciar sesión para comentar.


Jake Bowd
Jake Bowd el 5 de Jun. de 2020
Hi,
Could you use the following?
m = ; % whatever the matrix is called.
[row, column] = find(m == NaN)
  2 comentarios
Charnkamal Bhogal
Charnkamal Bhogal el 5 de Jun. de 2020
I could not use that, because I have loaded the Matrix from a .mat file
Jake Bowd
Jake Bowd el 5 de Jun. de 2020
Arrhh I see :).

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by