在 MATLAB 中,input
函数用于请求用户输入。
本教程将介绍 input
函数的基本用法、语法和示例,帮助新手快速上手。
语法
input
函数有两种主要的语法形式:
- 请求数值或表达式输入:
x = input(prompt)
- 这种形式会显示
prompt
中的文本,并等待用户输入一个值或表达式,然后按回车键。用户可以输入表达式(如pi/4
或rand(3)
),也可以使用工作区中的变量。 - 请求文本输入:
txt = input(prompt, 's')
- 这种形式会返回用户输入的文本,而不对输入进行求值。
描述
- 数值或表达式输入:
- 如果用户直接按回车键而不输入任何内容,
input
函数将返回一个空矩阵。 - 如果用户输入的表达式无效,MATLAB 会显示相关的错误信息,并重新显示提示符。
- 文本输入:
- 使用
input(prompt, 's')
时,MATLAB 会将用户输入的文本原样返回,不进行任何求值。
示例
请求数值或表达式输入
以下示例请求用户输入一个数值或表达式,然后将输入值乘以 10:
prompt = 'What is the original value? ';
x = input(prompt);
y = x * 10;
- 如果用户输入
42
,则结果为:
x =
42
y =
420
- 如果用户输入
magic(3)
,则结果为:
x =
8 1 6
3 5 7
4 9 2
y =
80 10 60
30 50 70
40 90 20
请求文本输入
以下示例请求用户输入一个简单的文本响应,不进行求值:
prompt = 'Do you want more? Y/N [Y]: ';
txt = input(prompt, 's');
if isempty(txt)
txt = 'Y';
end
- 如果用户输入
N
,则txt
为'N'
。 - 如果用户直接按回车键,则
txt
为默认值'Y'
。
输入参数
prompt
:显示给用户的文本,可以是字符串或字符向量。可以使用\n
表示换行,使用\\
表示反斜杠。
输出参数
x
:根据用户输入计算得到的结果,返回为数组。数组的类型和维度取决于用户的输入。txt
:用户输入的文本,返回为字符向量。
注意事项
在使用 input
函数时,工作区浏览器不会刷新,直到脚本运行完毕。因此,在脚本中运行 input
时,工作区浏览器不会显示工作区变量的变化,直到脚本结束。