如何将字符串转换为数字数组?在示例中:
str='1,2,3,4.5' to number=[1 2 3 4.5]
。
我在下面写了代码,但是有问题。
str='1,2,3,4.5';
tmp = regexp (str,',','split');
tmp2=[];
for(i=1:length(tmp))
tmp2(i)=cell2mat(tmp(i))
end
答案 0 :(得分:4)
从技术上讲,@ ame.b的答案是正确的。但是为了多样性,在这种情况下您也可以执行以下操作,因为分隔符是,
:
str2num(str)
答案 1 :(得分:3)
str2double
时需要 cell2mat
。
编辑:您甚至可以通过调用for
来替换最后四行(即tmp2
循环和cellfun
的初始化):< / p>
tmp2=cellfun(@str2double,tmp)
答案 2 :(得分:3)
我必须在这里遗漏一些东西,但为什么你不能只使用sscanf
?
例如:
sscanf('1,2,3,4.5','%f,')
ans =
1.0000
2.0000
3.0000
4.5000