2014-08-30 135 views
0

正如標題所示,我正在嘗試查找矩陣中NaN數字的位置。 目前我有一個矩陣大小爲< 15000x20>。我想檢查一下這個,並返回NaN值的位置。在矩陣的某個列中查找NaN值並返回單元格位置

這是我到目前爲止,但它似乎並不總是返回空白。

Input = xlsread('data.xlsx'); 
TF = isnan(Input); 

prompt = 'Which column to check? '; 
column = input(prompt) 

empty = 0; 

for i = 1:length(Input) 

    empty = find(TF(i, column) == 1) 

end 

它總是返回一個空矩陣,而不是像它應該的位置。我知道它已經找到了價值。

回答

3

find(isnan(data(:,column)))應該爲你做的伎倆。

這裏是我用來生成數據的完整劇本

% To create the data. You can read from excel file. 
rows = 100; 
cols = 5; 
data = randi(10000,[rows,cols]); 
for i=1:(rows*cols/25) 
    data(randi(rows*cols)) = NaN; 
end 

% Take user prompt 
prompt = 'Which column to check? '; 
column = input(prompt); 

% Calculate result 
nans = find(isnan(data(:,column))); 
相關問題