可能重复:
在matlab中将字符串转换为数字数组
Matlab中是否有一种简单的方法来转换这样的字符串
'123456789'
变成这样的向量?
[1 2 3 4 5 6 7 8 9]
如果您只有从 0 到 9 的连续字符:
v = double(s)-'0';
double(s) 将字符串转换为数组,其中每个元素都是对应字符的 ASCII 码。为了获得数字值,我们减去“0”(实际上是 ASCII 中的 48),并且由于数字在 ASCII 码中具有顺序表示(“1”= 49,“2”= 50 等),我们最终得到预期结果。
一种方法是regexp
用于此。但当然它只适用于个位数。
>> str = '123456789';
>> num = regexp(str,'\d')
num =
1 2 3 4 5 6 7 8 9