在Matlab中将字符串转换为数字数组

5
我有一个脚本,其中输入了一串数字的字符串。
string='123'

或者
string='9823'

我试图将此转换为形式为[a,b,c,d]的数组,例如从字符串“123”到数值数组[1,2,3]

您有什么提示可以做到这一点吗?


6
OP:请不要用无意义的话代替你的问题。 - user149341
3个回答

25
str = '123';
num = str - '0';
% num = [1 2 3];

0
使用函数str2num()
str = '123';
str = str2num(str);

注意:要验证我是否正确,请在命令窗口中键入“whos str”,并检查类。字符串具有一个名为char的类,而数值具有一个名为double的类。

1
你的代码生成了一个1x1的double,而不是所需的3x1 double数组。 - mikkola

0
你可以使用cellstr函数:
cellstr('123')
ans =
{
  [1,1] = 123
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接