Matlab单元格数组,数字为字符串,N / A存在

时间:2014-03-20 21:16:22

标签: matlab

我有一个类似于:

的单元格数组
'0.86'
'0.07'
'N/A'
'1.3'

如何处理它以将输出作为双精度数组来获取,如:

0.86
0.07
0.0
1.3

当我尝试做类似的事情时,我感到困惑:

cellfun(@str2num,Array); 

由于str2num无法处理N / A'我想。

由于

2 个答案:

答案 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