MATLAB 环境

2025年3月17日 | 阅读 10 分钟

MATLAB 程序中数据的结构单元是数组。数组是记录值的集合,按行和列组织,并由单个名称标识。数组中的单个数据值可以通过包含数组名称,后跟括号中的下标来访问,这些下标标识特定值的行和列。即使是标量,MATLAB 也会将其作为数组处理:它们是只有一行一列的数组。当 MATLAB 执行时,它可以显示各种接受命令或显示数据的窗口。

最重要的三种窗口是

命令窗口:可在此处输入命令

图形窗口:显示绘图和图表

编辑器窗口:允许用户创建和修改 MATLAB 程序。

MATLAB 桌面

当我们启动 MATLAB 7.4 版本时,会出现一个称为 MATLAB 桌面的特定窗口。桌面是一个包含显示 MATLAB 数据的其他窗口的窗口,以及工具栏和一个类似于 Windows XP 使用的“开始”按钮。默认情况下,大多数 MATLAB 工具都“停靠”在桌面上,以便它们在桌面窗口内显示。但是,用户可以选择“取消停靠”任何或所有工具,使它们出现在独立于桌面的窗口中。

它集成了各种工具来管理 MATLAB 环境中的数据、变量和应用程序。

MATLAB 桌面中或可从 MATLAB 桌面访问的主要工具有

  • 命令窗口
  • 命令历史窗口
  • 开始按钮
  • 文档窗口,包含编辑器/调试器和数组编辑器
  • 图形窗口
  • 工作区浏览器
  • 帮助浏览器
  • 路径浏览器

我们将逐一讨论这些工具的功能。

命令窗口

这是主窗口。它以 MATLAB 命令提示符 **(>>)** 为特征。当您启动函数程序时,MATLAB 会将您置于此窗口中。所有命令(包括运行用户编写的程序)都在此窗口的 MATLAB 提示符处键入。在 MATLAB 中,此窗口是 MATLAB 的一部分,其中包含其他较小的窗口或窗格。

这是打开 MATLAB 时出现的屏幕图像。

MATLAB Environment

我们将开始使用命令窗口

MATLAB 命令窗口下拉菜单 - 显示命令窗口操作

  • 在顶部栏,“Command Window”文字的右侧有一个下拉菜单,称为“Show Command Window Actions”。
MATLAB Environment
  • 单击它,会出现一个下拉菜单,其中包含一些选项,例如 Clear Command Window、Find、Print 等。
  • 这些选项可用于特定任务,例如“Clear Command Window”选项会清除命令窗口中的所有数据,“Find”选项可用于查找命令窗口中的任何单词、字母、变量或函数。

MATLAB 命令窗口下拉菜单 - 浏览函数

MATLAB Environment
  • 在命令窗口的左侧,可以看到小字体的fx,它是 function 的缩写。
  • 单击fx,会打开一个下拉搜索栏。
  • 如图所示,这些是我们已安装的所有产品名称。
  • 单击任何产品即可获得所有相关函数列表。
  • 'Browse for Functions' 是一个函数搜索弹出窗口,我们可以浏览与所有已安装产品相关的函数。
  • 函数搜索弹出窗口的键盘快捷键是Shift + F1

MATLAB 命令窗口 - 命令行

  • 这里是 fx 前面的命令行,由提示符 >>(两个连续的大于号)和一个闪烁的光标指示。
MATLAB Environment
  • 使用命令行输入变量、调用函数或表达计算。

MATLAB 命令窗口 - 在命令行工作

在此处键入任何您想要的内容。在命令行中输入的任何内容都将被视为命令。例如,有六种类型的命令输入来解释它们的含义。

MATLAB Environment

i)

MATLAB Environment
  • 每当我们输入任何字符、单词或句子并按 Enter 键时,它都会显示类似“Undefined function or variable 'jdjdkjdk45'”的错误。
  • 因此,文本应包含在双引号(" ")或单引号(' ')中。

ii)

MATLAB Environment

当我们输入上述文本时,内部发生了许多事情

  • 它创建一个默认变量,名为ans
  • ans 代表答案,所以它是我们命令的答案或输出。
  • 此变量存储在工作区中,并声明为 String 数据类型。
  • 每当我们输入此变量作为命令时,它之前存储的值将作为输出显示。
  • 由于这是默认变量,因此每当命令行的任何有效命令未提供变量来保存结果时,其值仅存储在 ans 变量中,并且以前的值会被新值替换。

iii)

MATLAB Environment
  • 此命令也将输出相同的内容,但现在它将被视为字符数据类型。
  • ans 变量的先前值被新值替换。
  • ans 变量的数据类型现在从字符串转换为字符。

iv)

MATLAB Environment
  • 这次 ans 变量的值将更新为 84938。
  • 其数据类型也将从之前的字符数据类型转换为数字。
  • 所有类型的数字,整数、浮点数或双精度数,在内部都存储为双精度数。

v)

MATLAB Environment
  • 此命令会抑制输出,意味着计算出的结果已存储在变量中,但其输出不会显示在命令窗口中。
  • 在此创建了一个名为 'a' 的变量,其值为 1988,并存储在工作区中。

vi)

MATLAB Environment
  • MATLAB 是一个区分大小写的编程语言,因此之前的变量 'a' 与新创建的变量 'A' 不同。
  • 其值也保存在工作区中,并且输出被抑制。

我们再举一个例子

MATLAB Environment
  • 将创建一个名为“b”的新变量。
  • 它将被赋值为 2+2 的计算结果,即 4。
  • 它保存在工作区中,并且输出显示在命令窗口中。

在 MATLAB 中回忆命令

  • 我们可以通过按键盘上的向上和向下导航箭头键来回忆以前的命令。
  • 键入命令的第一个字符,然后按向上箭头键,所有先前的命令都会显示出来。使用侧面导航键编辑高亮显示的命令,或在亮显的命令上按 Enter 键获取输出。
MATLAB Environment
  • 向上箭头键也可以在空命令行中使用。

命令历史窗口

在命令窗口的 MATLAB 提示符处键入的所有命令都会被记录下来,甚至在不同会话中也会在此窗口中记录。我们可以用鼠标从该窗口中选择命令,然后双击它在命令窗口中执行。我们还可以从该窗口中选择一组命令,并通过右键单击鼠标(并从菜单中选择合适的选项)创建一个 M 文件。

图形窗口

我们在命令窗口中复制的所有图形命令的输出都会刷新到图形或图形窗口,这是一个独立的灰色窗口,(默认)背景色为白色。客户端可以创建任意数量的图形窗口,只要系统内存允许。

MATLAB Environment

编辑器窗口

在这里,我们将程序写入文件(称为M 文件),编辑、创建和保存。我们可以使用任何文本编辑器来完成这些功能。MATLAB 支持其内置编辑器。但是,我们可以使用我们的编辑器,键入我们通常在系统上使用的标准文件编辑命令。在 MATLAB 中,命令是在 MATLAB 提示符处键入的,确保感叹号(!)。感叹号会提示 MATLAB 将控制权暂时交还给本地操作系统,后者会执行提供该字符的命令。编辑完成后,控制权将返回 MATLAB。

MATLAB Environment

窗口的停靠和取消停靠

MATLAB 窗口,如命令窗口、编辑器窗口和图形窗口,都可以停靠在桌面上,也可以取消停靠。当窗口停靠时,它作为桌面内的窗格出现。当它取消停靠时,它作为一个独立于桌面的独立窗口出现在计算机屏幕上。当一个窗口停靠在桌面上时,右上角有一个带有向上右指箭头的小按钮。如果单击此按钮,窗口将变成一个独立窗口。当窗口是独立窗口时,右上角有一个带有向下右指箭头的小按钮。单击此按钮,窗口将重新停靠到桌面。

MATLAB Environment

MATLAB 工作区

诸如

          z = 10

之类的语句会创建一个名为 z 的变量,将值 10 存储在其中,并将它存储在称为工作区的计算机内存的一部分中。工作区是 MATLAB 在特定命令、M 文件或函数执行时可以使用所有变量和数组的集合。在命令窗口中执行的所有命令(以及从命令窗口执行的所有脚本文件)共享一个简单的工作区,因此它们都可以共享变量。MATLAB 操作与脚本文件不同,每个操作都有其独立的工作区。

可以使用whos命令列出当前工作区中的变量和数组。例如,在执行 M 文件 calc_area 和 sin_x 后,whos 命令将显示以下变量列表

          � whos

名称大小字节Class属性
area1x18double
半径1x18double
string1x3264char
x1x61488double
y1x61488double

脚本文件calc_area创建了变量 area、radius 和 string,脚本文件sin_x创建了变量 x 和 y。

注意:所有变量都在同一个工作区中,因此如果两个脚本文件连续执行,第二个脚本文件可以使用第一个脚本文件创建的变量。

可以通过在命令窗口中键入相应的名称来确定任何变量或数组的内容。例如,可以找到字符串的内容如下

          � string

          string =

          The area of the circle is 19.635

可以使用 clear 命令从工作区中删除变量。

clear 命令的形式为

                clear var1 var2 ...

其中 var1 和 var2 是要删除的变量的名称。clear variables 命令或 simply clear 命令会从当前工作区中删除所有变量。

在线帮助

在线文档

MATLAB 为其所有内置函数和编程语言结构提供在线帮助。lookfor、help、helpwinhelpdesk命令实现在线帮助。

演示

MATLAB 有一个演示程序,显示其许多功能。在 MATLAB 提示符处键入 demo 来调用演示程序,并按照屏幕上的信息进行操作。

输入-输出 (Input-Output)

MATLAB 提供交互式计算,从屏幕接收输入并将输出刷新到屏幕。它可以读取输入数据并写入输出数据。

以下特性适用于所有形式的输入-输出

数据类型

MATLAB 中的组件数据类型是数组。它包含各种不同的数据对象:整数、双精度数(实数)、矩阵、字符字符串、结构体和元胞。

维度

MATLAB 中的维度是自动的。向量或数组不需要维度声明。我们可以使用 size 和 length(仅适用于向量)命令来查找当前矩阵或向量的维度。

大小写敏感性

MATLAB 对变量名和内置函数是区分大小写的。因此aA是不同的变量。一些 MATLAB 命令和内置函数调用以小写字母键入。我们可以使用casesen命令打开和关闭区分大小写。

输出显示

除非 MATLAB 被指示以其他方式操作,否则每个命令的输出都会显示在屏幕上。命令末尾的分号会抑制屏幕输出,图形和在线帮助命令除外。

  • 分页输出:要指示 MATLAB 一次显示一屏输出,请在 MATLAB 提示符处键入 more on。MATLAB 会立即刷新完成的输出,而不管我们阅读的速度如何。
  • 输出格式:尽管 MATLAB 内部的计算使用双精度进行,但显示浮点数的存在受当前使用的输出格式控制。有不同的屏幕输出格式。

下表显示了 10π 在七种不同格式下的打印值。

format short31.4159
format short e3.1416e+001
format long31.41592653589793
format long e3.141592653589793e+001
format short g31.416
format long g31.4159265358979
format hex403f6a7a2955385e
format rat3550/113
format bank31.42

其他格式,format compactformat loose,控制显示行上方和下方的间距,format + 分别显示正数、负数和零的 +、- 和空格。默认是format short

文件类型

MATLAB 可以读取和写入不同类型的文件,以保存我们可能经常使用的数据或程序。

M 文件

M 文件是标准的 ASCII 文本数据,文件名带有 .m 扩展名。

有两种类型的 M 文件

  • 脚本文件
  • 函数文件

我们在 MATLAB 中编写的大多数程序都保存为 M 文件。MATLAB 中的所有内置函数都是 M 文件,其中大多数以预编译格式驻留在我们的计算机上。一些内置函数带有可读的 M 文件源代码,以便可以复制和修改。

MAT 文件

MAT 文件是二进制信息文件,文件名带有.mat 扩展名。当我们使用 save 命令保存记录时,MATLAB 会创建 Mat 文件。记录以 MATLAB 只能读取的特殊格式写入。可以使用 load 命令将 Mat 文件加载到 MATLAB 中。

Fig 文件

Fig 文件是二进制图形文件,带有.fig 扩展名,可以在 MATLAB 中再次打开作为图形。这些文件是通过从文件菜单使用SaveSave As选项,或在命令窗口中使用saveas命令保存图形创建的。fig 文件包含重新创建图形所需的所有数据。可以使用 open filename.fig命令打开特定文件。

P 文件

P 文件是带有.p 扩展名的编译文件,可以直接在 MATLAB 中执行(无需解析和编译)。这些文件使用pcode命令创建。如果您开发了其他人可以使用但您不想提供源代码(M 文件)的应用程序,那么您可以向他们提供相应的p-codep 文件

Mex 文件

Mex 文件是 MATLAB 可调用的 FORTRAN、C 和 Java 程序,文件名带有.mex 扩展名