2017-08-08 101 views
1

最大數量。如果我有一個由字符串單元陣列M(其中有些是字符串包含的話,其他包含數字)查找字符串單元陣列(MATLAB)

M={'r' '2' '17' 
    '2' 's' '15' 
    '5' '10' 'rr' 
    } 

我怎樣才能得到第二列的最大數字,所以答案是10?

+0

如果你對Rody給出的答案感到滿意,請考慮接受它。 –

回答

5

請使用str2double非數字的字符串轉換爲NaN,這max()默認忽略了一個事實:

mx = max(str2double(M(:,2))) 

要計算平均值,MATLAB的默認行爲是 CLUDE NaN,所以你必須告訴它的行爲:

mn = mean(str2double(M(:,2)), 'omitnan') 
+0

是否有可能獲得列的平均值? Avg =(2 + 10)/ 2 @https://stackoverflow.com/users/1085062/rody-oldenhuis – ryh12

+0

從手機評論如此未經測試,但這應該工作'M = str2double(M(:,2))'然後' avg = mean(M(〜isnan(M(:)))' – jodag

+0

@ ryh12:看我最近的編輯 –