Finding the position of a cell within a Matrix

5 次查看(过去 30 天)
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

采纳的回答

KSSV
KSSV 2020-6-5
编辑:KSSV 2020-6-5
Read about isnan.
idx = isnan(Matrix(:,2)) ;
Matrix(idx,:)
% To get the rows
rows = find(idx)

更多回答(2 个)

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

请先登录,再进行评论。


Jake Bowd
Jake Bowd 2020-6-5
Hi,
Could you use the following?
m = ; % whatever the matrix is called.
[row, column] = find(m == NaN)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by