如果我有一个由字符串组成的单元格数组M(其中一些字符串包含单词,其他字符串包含数字)
M={'r' '2' '17'
'2' 's' '15'
'5' '10' 'rr'
}
如何获得第二列中的最大数字,那么答案将是10?
答案 0 :(得分:5)
使用str2double
将非数字字符串转换为NaN
的事实,max()
默认忽略该字符串:
mx = max( str2double(M(:,2)) )
为了计算平均值,MATLAB的默认行为是 in clude NaN
,所以你必须告诉它表现不同:
mn = mean( str2double(M(:,2)), 'omitnan')