MATLAB如何使用input函数接受用户的键盘输入
【语法说明】
eval=input(prompt):接受用户的键盘输入,并赋值给eval。字符串prompt为提示符,假设用户在提示符后输入的值为a+b,则这条命令相当于eval=a+b。a和b这两个标识符代表的变量如果不存在于工作空间中,系统将会报错。
使用input函数时应注意:
1.如果用户没有输入任何内容就按Enter键结束输入,函数将返回空矩阵。
2.如果prompt提示符需要换行,应使用换行符\n。由于\符号用于转义,因此用\\表示反斜杠。
3.如果输入的值不符合语法,函数将报错并再次回到提示符中,继续接受用户输入。
str=input(prompt,‘s’):将输入的内容作为字符串赋值给str。假设用户输入a+b,则这条命令等价于str=‘a+b’。
【功能介绍】input 函数接受用户的键盘输入并将结果赋值给输出参数,是与用户最简单的交互方式之一。
【实例1】使用不同参数的input函数接受输入数据。
>> rng(0)
>> ra=randi(9) % 在工作空间定义两个变量a和b
ra =
8
>> rb=randi(9)
rb =
9
>> c=input('the sum of ra and rb:') % 在提示符之后输入ra+rb并按Enter键
the sum of ra and rb:ra+rb
c =
17
>> c=input('the sum of ra and rb:','s') % 在提示符后输入ra+rb并按Enter键
the sum of ra and rb:ra+rb
c =
ra+rb
【实例讲解】没有‘s’参数时,函数将输入的ra和rb理解为工作空间中的变量名;有‘s’参数时,输入被作为字符串,直接复制给输出参数。
【实例2】
使用input函数接受用户输入,根据输入的不同执行不同的程序:如果输入 Y 或 y,则将工作空间中的变量保存到MAT文件再退出系统;如果输入N或n,则直接退出系统;输入其他字符或字符串则不做处理。
在MATLAB中新建input_test.m脚本如下:
% input_test.m
r=input('Save data before shut down? Y/N?','s');
if isequal(r,'y') || isequal(r,'Y')
save data.mat
disp('quit MATLAB in 3 seconds...');
pause(3);
exit;
elseif isequal(r,'y') || isequal(r,'Y')
disp('quit MATLAB in 3 seconds...');
pause(3);
exit;
else
disp('do nothing');
end
运行该脚本,在提示符后输入N并按Enter键,命令窗口显示quit MATLAB in 3 seconds...,3 秒后退出MATLAB 系统。
【实例讲解】当需要用户决定下一步如何运行时,可以使用input函数,接受用户的键盘输入实现与用户的交互,功能上可以代替questdlg,且较questdlg更为灵活。