是否有可能抑制“输入”跳至下一行?

时间:2018-10-16 19:42:56

标签: matlab input

我得到了与此类似的代码:

fprintf('Give a vector: \n')
fprintf('1. Vector/Matrix: X = {')
FirstVector = input('','s');
fprintf('}')
fprintf('\n')

它应该打印出这样的内容:

Give a vector: 
1. Vector/Matrix: X = {UserInput}

相反,我得到了:

Give a vector: 
1. Vector/Matrix: X = {UserInput

}

input函数正在生成\n。我该如何避免呢? input的文档毫无用处,甚至没有告诉input那样的行为。

1 个答案:

答案 0 :(得分:3)

通过在输入后向fprintf添加input,可以解决backspace character的固有限制。您还可以将代码压缩为两行,如下所示:

FirstVector = input('Give a vector: \n1. Vector/Matrix: X = {', 's');
fprintf([char(8) '}\n']);

输入1

Give a vector: 
1. Vector/Matrix: X = {1}

还请注意,'s'选项用于捕获字符/字符串输入。如果您希望用户输入数字值,则不要输入。