在Matlab中有一种简单的方法来转换像这样的字符串
'123456789'
进入这样的矢量?
[1 2 3 4 5 6 7 8 9]
答案 0 :(得分:9)
如果您拥有的是从0到9的连续字符:
v = double(s)-'0';
double(s)将字符串转换为数组,其中每个元素都是相应字符的ASCII代码。为了获得数字值,我们减去“0”和“0”。 (实际上是ASCII中的48)并且由于数字在ASCII码中有顺序表示(' 1' = 49,' 2' = 50等),我们最终会打算用结果
答案 1 :(得分:5)
一种方法是使用regexp
。但当然它只适用于单位数字。
>> str = '123456789';
>> num = regexp(str,'\d')
num =
1 2 3 4 5 6 7 8 9