我有一个类似于:
的单元格数组'0.86'
'0.07'
'N/A'
'1.3'
如何处理它以将输出作为双精度数组来获取,如:
0.86
0.07
0.0
1.3
当我尝试做类似的事情时,我感到困惑:
cellfun(@str2num,Array);
由于str2num无法处理N / A'我想。
由于
答案 0 :(得分:5)
您非常接近解决方案。不要使用str2num
,而是使用str2double
。
所以,
Array ={'0.86', '0.07', 'N/A', '1.3'}
cellfun(@str2double,Array)
输出(如您所要求的):
ans =
0.8600 0.0700 NaN 1.3000
答案 1 :(得分:4)
使用str2double
:
c = {'0.86'
'0.07'
'N/A'
'1.3'};
result = str2double(c)
这给出了
result =
0.8600
0.0700
NaN
1.3000