如何在matlab上将用户输入的数字转换为向量?
我在Matlab上使用一个用户输入函数来输入一个7位数的数字,但是如何将他们输入的数字转换成7x1矩阵呢?如何在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
谢谢。如果数字之间有空格,您可以写:
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、 ginput('Enter 7x1 matrix=')
然后输入,例如,[1;2;3;4;5;6;7]