4.4 控制程序流程的其他常用指令
在 MATLAB 编程中,除了条件语句、循环语句和 try-catch 语句外, 还有一些其他常用的 程序流程控制指令,它们能用于实现特定的控制需求,例如: 计算程序的运行时长、暂停程 序的运行、让用户输入数据、显示警告和报错信息等。
在本节中,我们将介绍以下五个常用指令:
notion image

4.4.1 程序运行计时:tic/toc

tic 和 toc 是一对用于计时的 MATLAB 指令,你需要将 tic 和 toc分别放在需要计时的代码段的前面和后面,运行代码后 MATLAB 就会输出这段代码的运行时长,单位为秒。
notion image
事实上,许多题目都可能有多种求解方法,有的方法求解效率很高, 代码运行的时长就 会更短。例如我们看下面这个例子:
notion image
从上面的运行时间可以看出, 第二种方法的计算效率远高于第一种方法。这也提示我们, 使用循环编程的效率通常较低,更推荐大家使用向量或者矩阵直接运算。
MATLAB 官网给出了提高代码性能的常用方法,感兴趣的同学可以点击下面链接了解:

4.4.2 暂停程序运行:pause

pause  函数用于暂停程序的运行,当程序运行到该命令时,程序暂时中止。它的调用格 式有下面两种:
(1)pause:暂时停止代码的执行,等待用户按任意键继续运行;
(2)pause(n):暂停程序运行 n 秒。
举个例子,每隔 0.5 秒在屏幕上输出一个[1,10]上的随机整数,若输出的整数恰好为 10, 则停止输出。
notion image
notion image

4.4.3 用户输入数据:input(strcmp函数可用来判断字符向量是否相同)

编写 MATLAB 程序时,有时需要从用户那里获取输入的数据,以便程序根据这些数据执 行不同的操作或计算。 MATLAB 提供了 input 函数接收来自用户的输入数据,这在创建交互 式程序或需要用户提供输入的情况下非常有用。 input 函数有下面两种调用方式:
  • x = input(提示用户输入的文本)
  • txt = input(提示用户输入的文本, 's')
第一种方式只需要给一个输入参数,即一个提示用户输入的文本,此时 MATLAB 的界面 会显示这段文本,并等待用户输入值后按回车键确定。用户可以输入 10 、 pi/4  、 rand(3) 、 1:10 、[1, 2; 3, 4]之类的数据或表达式,还可以输入工作区中已有的变量。
第二种方式有两个输入参数,这时候 input 会将用户的输入看成文本格式,返回的变量 txt 是字符向量格式,这对于获取纯文本的输入非常有用。
注意: 提示用户输入的文本请使用字符向量(单引号引起来)的形式, 如果使用字符串 (双引号引起来) 则在较低的 MATLAB 版本中运行会报错。
下面我们举两个例子帮助大家理解。
notion image
(2)a和b是用户输入的两个常数, 如果用户输入“乘法”这个文本,则计算a× b;如 果用户输入“加法”这个文本,则计算a + b;如果输入的是其他的文本,则返回空向量。
notion image
(2)使用 input 函数后,有时候你会发现 MATLAB 无论输入什么语句都没有反应,这很 有可能是因为 MATLAB 在等待我们的输入,你可以观察 MATLAB 左下角的状态提示。如果 MATLAB 卡住了也可以在脚本编辑器或者命令行窗口按 Ctrl+C 快捷键来中断程序的运行。

4.4.4 显示警告信息:warning

编写 MATLAB 程序时,警告信息是一种有用的反馈机制,可以用来提示用户在程序执行过程中可能存在的问题或不规范的操作。 MATLAB 提供的 warning 函数用于显示警告信息。 警告消息不会中断程序的执行, 但它可以帮助用户和开发人员注意到潜在的问题, 以便及时 采取措施来解决。
首先介绍 warning 函数最常见的用法: warning off 和 warning on ,它们分别用于关闭和打开 MATLAB 的警告信息。
例如运行下面这段代码时, MATLAB 会弹出橙色的警告信息:
notion image
warning  函数还有另一种用法,可用来显示自定义的警告信息: warning(警告信息) ,这 里的警告信息请使用字符向量(单引号引起来)的形式,如果使用字符串(双引号引起来) 则在较低的 MATLAB 版本中运行会报错。
下面我们举个例子:a 和b是用户输入的两个常数,计算 a 除以 b 的值,如果 b 等于 0, 则显示警告:分母不应为 0。
notion image

4.4.5 显示报错信息:error

在 MATLAB 编程中, 当程序遇到严重错误或不符合预期条件时,可以使用 error 函数显 示自定义的报错消息,并终止程序的执行。
error  函数的用法很简单: error(报错信息) ,这里的报错信息请使用字符向量(单引号引 起来)的形式,如果使用字符串(双引号引起来)则在较低的 MATLAB 版本中运行会报错。
下面我们举个例子: a和b是用户输入的两个常数,计算 a 除以 b 的值,如果 b 等于 0, 则显示报错:分母不应为 0。
notion image
和 warning  函数的结果对比, error  函数生成的报错信息是红色的,且结果中没有出现 c 的值。这是因为一旦 error  函数被执行,程序会立即终止,后面的代码都不会被运行;而 warning 函数不会终止程序的执行,后面的代码仍会运行。
 

Loading...
公告
🎉大学生科技协会(2024)网站试运行🎉
-- 感谢您的支持 --- 科协获:
小平科技创新团队 (青少年科技创新领域国家级最高荣誉,全校唯一)
全国高校百强社团 中国大学生ican物联网创新创业实践教育基地 校十佳社团 “一院一品”智能空间 科技竞赛优秀组织单位
阅读科协简介了解更多吧!