我有这个:
d = {'2.5', '3.5'};
d =
'2.5' '3.5'
我该如何将它转换为数字向量?
d = 2.5 3.5
我有这个:
d = {'2.5', '3.5'};
d =
'2.5' '3.5'
我该如何将它转换为数字向量?
d = 2.5 3.5
假设您有一个单元格字符串值的数组,您可以使用cellfun
在每个条目上应用str2num
转换。输出将是转换后的值的向量/矩阵。
d = {'2.3','3.5'}
dVec = cellfun(@str2num, d);
然而,在使用字符串转数字时,最好使用str2double
,而不是str2num
。从文档中可以看到:
注意:str2num使用eval函数来转换输入参数。 如果字符串包含对函数的调用,则可能会出现副作用。 使用str2double可以避免其中一些副作用。
dVec = cellfun(@str2double, d);
str2double()
以获得相同的输出。dVec = str2double(d);
str2num()
的相同调用将会出现 "必须是字符串或字符串数组" 错误。str2double()
,而不是 str2num()
。 - gevang
str2num
(或更好的str2double
)。 - gevang