如何在matlab上将用户输入的数字转换为向量?

如何在matlab上将用户输入的数字转换为向量?,matlab,Matlab,我在Matlab上使用一个用户输入函数来输入一个7位数的数字,但是如何将他们输入的数字转换成7x1矩阵呢? 谢谢。如果数字之间有空格,您可以写: with_space = input('Enter No.','s'); d = str2num(with_space) no_space = input('Enter No.','s'); d = str2double(regexp(no_space,'\d','match')) 这将导致: Enter No.>> 1 23 456

我在Matlab上使用一个用户输入函数来输入一个7位数的数字,但是如何将他们输入的数字转换成7x1矩阵呢?
谢谢。

如果数字之间有空格,您可以写:

with_space = input('Enter No.','s');
d = str2num(with_space)
no_space = input('Enter No.','s');
d = str2double(regexp(no_space,'\d','match'))
这将导致:

Enter No.>> 1 23 456
d =
     1    23   456
Enter No.>> 1234567
d =
     1     2     3     4     5     6     7
如果要将数字拆分为数字,可以编写:

with_space = input('Enter No.','s');
d = str2num(with_space)
no_space = input('Enter No.','s');
d = str2double(regexp(no_space,'\d','match'))
这将导致:

Enter No.>> 1 23 456
d =
     1    23   456
Enter No.>> 1234567
d =
     1     2     3     4     5     6     7

或者使用注释中的@Rotem技巧:
d=double(无空格)-“0”

告诉我们您尝试了什么以及问题所在。尝试
double('1234567')-“0”
为什么要转换?将输入改为7x1矩阵。e、 g
input('Enter 7x1 matrix=')
然后输入,例如,
[1;2;3;4;5;6;7]