程序控制结构
1顺序结构
2选择结构
3循环结构
4循环嵌套
一.顺序结构
说人话就是程序从前往后依次执行
【1】数据输入
input函数详解
MATLAB 中的 input
函数用于从用户获取输入。用户输入可以是字符串或数字值,取决于 input
函数中使用的参数。下面是 input
函数的基本使用方法和一些详细说明。
基本语法
x = input(prompt)
prompt
是一个字符串,它将显示在命令窗口中,指示用户输入数据。- 用户输入的数据将被赋值给变量
x
。
接受不同类型的输入
- 如果你希望用户输入文本(字符串),
prompt
后面应该跟上's'
参数。 - 如果你希望用户输入数值或表达式,就不需要额外的参数。
例如:
name = input('请输入您的名字: ', 's'); % 用户输入字符串
age = input('请输入您的年龄: '); % 用户输入数值
详细说明
- 当
input
函数运行时,MATLAB 会暂停执行并等待用户输入。 - 用户输入完毕后需要按 Enter 键确认。
- 如果在
input
函数中使用了's'
选项,MATLAB 会将用户输入作为原始字符串处理,而不会尝试解析或计算它。 - 没有使用
's'
选项时,MATLAB 会将用户输入当作数值或表达式,并尝试计算它。 - 如果用户输入的是一个无法解析的表达式,MATLAB 会返回一个错误。
示例
% 提示用户输入一个数字
number = input('请输入一个数字: ');
% 提示用户输入一个字符串
text = input('请输入一段文本: ', 's');
% 提示用户输入一个逻辑值(是/否)
answer = input('你觉得MATLAB好用吗? (是/否): ', 's');
错误处理
input
函数没有内建的错误处理机制。如果需要验证用户输入,你需要自己编写代码来检查用户输入的有效性。例如,你可以使用循环来确保用户输入了有效的数值:
while true
n = input('请输入一个正数: ');
if isnumeric(n) && n > 0
break;
else
disp('输入无效,请重新输入一个正数。');
end
end
这段代码会一直循环,直到用户输入了一个有效的正数。如果用户输入的不是正数,它会提示用户重新输入。
使用 input
函数时,务必注意安全性,尤其是当你运行用户输入的表达式时。不恰当的输入可能会导致不期望的行为,甚至是代码的安全风险。
【2】数据输出
disp函数详解
MATLAB 中的 disp
函数用于在命令窗口中显示文本或变量的内容,但不显示变量名。它是用于输出结果的最基本方式之一。
基本语法
disp(X)
X
可以是任何数据类型,如数组、字符串、单元格数组等。- 当
X
是一个字符串时,disp
函数将输出该字符串。 - 当
X
是一个数值或数组时,disp
会输出数组的内容。
使用示例
% 显示简单文本
disp('Hello, World!');
% 显示数值变量
a = 10;
disp(a);
% 显示数组
M = magic(3); % 创建一个 3x3 的幻方矩阵
disp(M);
% 显示结构体信息
person.name = 'John Doe';
person.age = 30;
disp(person);
特性
disp
不返回任何值,它仅用于显示信息。- 它不像其他输出命令(如
fprintf
)那样可以格式化输出,disp
输出的内容总是按照 MATLAB 的默认格式来显示。 disp
函数不会在输出的末尾添加换行符,但在显示完变量内容后,会自动开始新的一行。- 如果你不想在命令窗口中显示变量名,而只想看到值,那么使用
disp
是一个不错的选择。
输出格式
- 字符串将按原样显示。
- 数值将按照 MATLAB 的标准打印格式显示。
- 如果输入是单元格数组或结构体,
disp
将逐个显示单元内容或结构字段。
注意事项
- 由于
disp
是 MATLAB 内置的函数,所以在调用时不需要任何特殊的库或工具箱。 - 使用
disp
时不需要用分号;
结尾,因为其目的就是为了输出内容到命令窗口。 - 在脚本或函数中频繁使用
disp
可能会导致性能下降,尤其是在循环中,因为命令窗口的输出相对较慢。
【3】程序暂停
pause函数详解
在 MATLAB 中,pause
函数用于暂停代码的执行。pause
函数可以按照不同的方式使用,具体取决于你希望暂停的时间和条件。
基本语法
-
暂停直到用户交互:
pause
这种方式会导致 MATLAB 在命令窗口暂停执行,直到用户按下任意键。
-
暂停特定的秒数:
pause(n)
其中
n
是一个数值,代表暂停的秒数。MATLAB 将暂停执行n
秒然后自动继续。例如,pause(2.5)
会暂停 2.5 秒。
使用示例
% 输出前后暂停 1 秒
disp('程序开始...');
pause(1); % 暂停 1 秒
disp('继续执行程序。');
% 无限暂停,直到按下任意键继续
disp('按任意键继续...');
pause; % 等待用户按键
disp('程序继续执行。');
特性和注意事项
pause
函数会影响 MATLAB 脚本或函数的执行流程,但不会影响其他并行运行的 MATLAB 进程或计时器回调。- 使用无限暂停时(即不带参数的
pause
),MATLAB 会在命令窗口等待,这个时候你可以看到命令窗口的提示符,但输入的命令不会被执行,直到你按下键盘的任意键。 - 当你使用
pause
与特定时间参数时,你可以按 Ctrl+C 终止暂停并立即返回 MATLAB 的命令提示符。 - 使用
pause
函数对于调试代码或创建需要用户交互的程序很有用。 - 如果在图形用户界面(GUI)中使用
pause
,它可以为用户提供时间来观察更新的图形或界面元素,然后再继续执行其他操作。