💀
快捷方式汇总

2.1 MATLAB 的界面介绍

首次启动 MATLAB 时,桌面会以默认的布局显示。下图是我打开 MATLAB2017 版本的 界面:
notion image
从图中可以看出, MATLAB 的界面默认分成了四个大的区域:
最上方的菜单栏:包含主页、绘图和 APP(应用程序或工具箱);
左侧的当前文件夹:用来快速查看并访问文件夹中的文件;
中间的命令行窗口:可以在命令行中输入命令(由提示符 (>>)  开始);
右侧的工作区:可以用来查看目前 MATLAB 内存中保存的所有变量或者对象。
有些同学打开 MATLAB 后默认还有一个命令历史记录的区域, 该区域用来记录你之前运 行过的命令。没有的同学可以打开菜单栏——主页——布局,将其设置为停靠。
notion image
上面介绍的这些区域的位置我们可以进行调整, 你可以更改区域的大小和展示形式,如果不小心关掉了这些窗口,可以在布局中恢复成默认设置
下面,大家在命令行窗口分别输入下面的三行语句,查看效果:

我们首先定义了两个变量, x 和 y,其中 x 的值等于 10,y 的值等于 3,然后, 我们计算 x 的 y 次方,即 10 的 3 次方,得到的结果等于 1000。
大家可以在工作区查看这些变量的值。注意到,在工作区中出现了一个名为“ans ”的变 量,这个变量我们并没有定义,这是我们计算 x^y 得到的结果。事实上,在 MATLAB 中,如 果不将计算结果赋值给变量, MATLAB 就会将该结果默认赋值给 ans ,以后我们会再讲到这一 点。
notion image
请大家现在关闭 MATLAB,然后再重新打开,你会发现:之前命令行窗口的代码和计算 结果都消失了,工作区也被清空了。
有同学会想: 能不能把我们写的代码保存到一个文件中, 以后想重新调用这个代码就直接 打开这个文件运行呢?
当然可以, MATLAB 中就提供了这个功能:创建一个后缀为.m 的脚本文件。

2.2 创建 MATLAB 的脚本

在实际应用中,直接在命令行窗口中输入简单的命令无法满足用户的所有需求, 因此 MATLAB 提供了另一种工作方式, 即利用.m 后缀的脚本文件(又称为 m 文件) 编程。 如果要 输入较多的命令,且需要经常重复输入或者运行时,就可以利用 m 文件来实现。
点击 MATLAB 菜单栏: 主页——新建——脚本,或者使用快捷键 Ctrl+N,就会弹出下图 所示的编辑器界面,大家将上一节的三行代码输入到编辑器中,如下图所示:
notion image
然后点击 MATLAB 菜单栏: 编辑器——保存,或者使用快捷键 Ctrl+S,将这个文件保存 在你的桌面(建议提前新建一个文件夹,专门用来保存你的代码)。
保存时可以设置文件名,如下图所示:
notion image
如果你将这个文件名设置为中文,那么将会弹出下面的对话框:
notion image
对话框提示我们: MATLAB 名称必须以字母开头, 并且仅包含字母、数字或下划线。
因此我们需要将这个文件的名称设置为规定的格式, 例如 code1。这个规定的命名格式也 适用于我们后面要讲的变量命名,这也和其他大多数编程语言的命名习惯相同。
大家注意,保存的文件的后缀为.m ,这也是 m 文件的由来。 m 文件是一种标准的文本文 件,我们可以在任何文本编辑器中进行编辑、存储、修改和读取。我个人习惯将 m 文件的打 开方式设置为使用“记事本”打开,这样能够很方便快速的查看 m 文件的内容。
将文件保存好后, 我们点击 MATLAB 菜单栏: 编辑器——运行,这时候可能会弹出下面 的对话框, 提示我们在当前文件夹和 MATLAB 路径中没有找到我们保存的代码, 这里就涉及 到了 MATLAB 的文件搜索的知识,我们在后面会专门介绍这个知识点。
notion image
大家可以点击“更改文件夹”的选项,然后再点击运行, 在命令行窗口就会出现计算结果。
另外, 你也可以在编辑器中更改你的代码, 例如我们把 x^y 的结果赋值给变量 z 保存, 即 将第三行代码改成“z=x^y”,然后再来运行你的代码。
除了点击“运行”按钮执行我们写好的脚本外, 还有另外两种方法可以执行:(1)大家可 以在命令行窗口输入我们的脚本名称, 例如上面创建的 code1,然后点击回车, MATLAB 就会 运行 code1 中的代码;(2)大家在编辑器中,按下 Ctrl+A 的快捷键,就可以选中所有的代码 行, 然后点击鼠标右键, 选择“执行所选内容”,快捷键是 F9(笔记本电脑可能要同时按 Fn 和 F9),就会运行代码,代码运行的结果会出现在命令行窗口。
上面这两种方法, 我个人使用第二种比较多。因为有时候我们不需要一次执行完所有的代  码, 在第二种方法中, 我们可以只选择想要运行的代码行, 然后右键执行。另外, 有同学在使  用第一种方法运行 code1.m代码时,可能会遇到下面的错误提示:“未定义函数或变量'code1'。” 这是初学者常犯的一个错误,我们在后面小节介绍出错的原因和解决方法。
💡
小技巧: 建立或者打开 m 文件后, MATLAB 最上方的菜单栏会出现三个新的选项。大家 可以点击视图,勾选上高亮显示当前行、行号和数据提示, 这个对大家的学习很有帮助。

2.3 强大的实时脚本

前面小节我们介绍过普通的脚本, 普通的脚本的文件后缀是.m,在普通脚本中我们可以写 上需要的代码,然后保存到本地,未来需要调用时可以打开执行,其计算的结果会显示在 MATLAB 的命令行窗口中。
MATLAB 从 2016 的版本开始, 引入了实时脚本的功能, 实时脚本的文件后缀是.mlx。你 可以把实时脚本理解成一个非常好用的交互式文档,在这个文档中也可以写上代码, 还可以加 上说明性的文本, 甚至可以插入图片和公式。在执行代码时, 返回的结果可以和代码一起显示 和保存。(熟悉 Python 的同学应该知道,这个功能类似于 Jupyter Notebook)
在实时脚本中编写程序时, MATLAB  的代码提示功能也更加强大,也能够对绘制出来的 图形进行方便的修改。我们后面的学习将主要借助实时脚本的功能。另外, MATLAB  的版本 越新, 实时脚本支持的功能也越强大, 在上一章介绍 MATLAB 的安装时, 我提到过: 至少安 装 2017a 以上的版本,在电脑配置允许的前提下,版本越新越好。
下图是MATLAB 自带的实时脚本的示例文件,文件名为:LiveEditorInteractiveNarrative.mlx, 大家可以在 MATLAB 的安装路径中找到。可以看到, 实时脚本就像一个“笔记本”,利用实时  脚本可以让我们的学习更加轻松,课后的复习也更加方便。
notion image
📙
补充

2.4 MATLAB 文件管理

上一章我们说过, MATLAB 是一款非常强大的用于科学计算的商业软件。MATLAB 中实 现了非常多的功能, 这些功能以文件的形式保存在我们电脑的本地。 当执行 MATLAB 某个文 件的命令时, MATLAB 首先会在当前文件夹中寻找该命令对应的文件,如果找到的话就会执 行这个文件; 如果没有找到的话, 会在搜索路径中继续寻找,如果都没找到的话则会报错。
初学者常犯的一个错误就是: “未定义函数或者变量”,这正是没有找到对应的文件时 MATLAB 提示的错误。(注意:这里所说的函数也是一种 m 文件,函数以关键字 function 开 头,通常用来实现某一特定的功能,后面的章节会详细介绍。 MATLAB  中有非常多的内置函 数,例如“sum ”函数可以用来求和,“sort”函数可以用来排序, 在后面我们会专门讲到大量 的内置函数的用法,也会告诉大家如何自己编写函数。)
在本章第一节介绍 MATLAB 的界面时, 我们讲过当前文件夹, MATLAB 会优先在该文件 夹中寻找你调用的命令。例如, 我们上一小节自己定义的 code1.m 的脚本, 如果你的当前文件 夹下面没有这个文件,然后你在命令行执行了 code1 的命令,那么 MATLAB 可能会报错提示 “未定义函数或变量'code1'。”简单提一下, 这里的报错提示可以改成“未定义脚本、函数或变 量'code1' ”,这样会更完整一点, 因为 MATLAB 的 m 文件分为两种: 一种为脚本文件, 另一种 为函数文件。
那么, 怎么利用当前文件夹解决这个报错呢?我们只需要修改当前文件夹为 code1.m文件 所在的文件夹即可。
有多种方式可以修改当前文件夹:
(1)点击浏览文件夹,然后选择需要修改到的文件夹即可
notion image
(2)直接复制要修改到的文件夹的地址到下图所示的位置
notion image
(3)右键单击编辑器打开的 m 文件名称,选择第一个选项
notion image
(4)在命令行窗口执行命令, cd 命令后面接上要修改的文件夹地址
notion image
除了使用当前文件夹解决这个问题外, 我们还可以利用 MATLAB 的搜索路径功能。 大家 可以点击 MATLAB 菜单栏: 主页——设置路径,就能够看到 MATLAB 默认的搜索路径。
如下图所示, MATLAB  的搜索路径中包含了非常多的文件夹。前面我们说过,在运行某 一个命令时, MATLAB  会先在当前文件夹中寻找,找不到的话才会在搜索路径中寻找。在搜 索路径中也存在搜索的先后顺序, MATLAB  会先从最上面的文件夹中搜索, 直到找到为止, 如果都没有找到则会报错。
notion image
因此, 我们可以将 code1.m 文件所在的文件夹添加到搜索路径即可, 在上面图片的左侧有 对应的选项,大家可以尝试。
注意: 我个人不太推荐大家将自己的文件夹添加到 MATLAB 的搜索路径。如果我们写的 m 文件的名称和 MATLAB 自带的命令相同, 且我们的文件夹在搜索路径的最上方, 那么以后 MATLAB 调用这个命令时, 就会执行我们写的代码,这会导致我们遇到一些意想不到的问题。 当然, 如果你非常注意命名规范, 写的 m 文件名称不和 MATLAB 自带的文件名冲突的话, 使 用搜索路径会比更改工作路径更加方便。

2.5 MATLAB 的帮助系统

作为一款商业软件, MATLAB  的帮助系统非常完善,这与其他科学计算软件相比是一个 突出的特点。要熟练掌握 MATLAB,就必须熟练掌握 MATLAB 帮助系统的应用。因为 MATLAB 内置功能非常的多, 要记住所有的功能的用法是不现实的, 所以大家在未来的学习过程中要经 常查阅 MATLAB 的帮助文档。
那么,应该如何使用MATLAB 的帮助系统呢? 下面我们以查找MATLAB 求和函数“sum ” 的帮助信息为例,告诉大家几种常见的做法。

1)在 MATLAB 官网搜索

大家可以打开 MATLAB 的帮助中心: https://ww2.mathworks.cn/help/index.html
在页面的右上方输入 sum 进行搜索, 就能找到 sum 函数的帮助界面。在该界面提供了 sum 函数的用法和示例代码,对用户自学非常友好。
notion image

2)使用 doc 命令

doc 是 document(文档) 的缩写, 在 MATLAB 的命令行窗口输入 doc 即可调出 MATLAB 的帮助中心。doc 后面可以跟上你要查询的命令名称, 例如我们输入: doc sum,就会弹出 sum 的帮助界面。(有网络和无网络连接的情况下得到的界面可能会有差异,推荐大家联网查询)
notion image

3)使用 help 命令

在 MATLAB 的命令行窗口输入 help 加上你要查询的命令名称, 就会返回给我们这个命令 的帮助信息。这个帮助信息没有上面两种方法得到的帮助文档详细, 可以视为完整的帮助文档 的概述。(有网络和无网络连接的情况下得到的信息可能会有差异)
notion image

4)使用 edit 命令

edit 是编辑的意思, 如果直接在命令行窗口输入 edit,就会帮我们创建一个新的脚本文件, 并自动打开编辑器。我们可以使用 edit 加上要查找的命令,就能打开这个命令的 m 文件。在 这个 m 文件中, MATLAB 会通过注释的形式给我们提供帮助信息。
notion image
💡
小技巧:代码中以百分号%开头的语句是 MATLAB 的注释信息,在运行代码时注释信息 不会被执行。注释能够帮助其他人更好地理解你的代码,未来你查看代码内容时也更加方便。 MATLAB 还专门设计了为选中行添加注释和取消注释的快捷键,分别是 Ctrl+R 和 Ctrl+T , 大家在以后的学习中也要养成写注释的好习惯。

2.6 MATLAB 的变量

变量是任何编程语言的基本元素之一,MATLAB  语言当然也不例外。顾名思义,变量指 的是在程序的运行过程可以改变的量, 它能用来表示存储的数据。通常我们会在程序开头对变 量赋值, 例如 a=3,这里的 a 就是一个变量, 它的名称就是 a,里面保存的数据是 3。与常规的 程序语言(例如 C 语言、Java)不同的是, MATLAB 并不要求事先对所使用的变量进行声明, 也不需要指定变量的类型, MATLAB  会自动根据所赋予变量的值或对变量所进行的操作来识 别变量的类型,这也是 MATLAB 适合入门的原因之一。

变量的命名

在 MATLAB 中变量的命名应遵循如下规则:
> 变量名必须以字母开头,之后可以是任意的字母、数字或下划线_。
> 变量名区分字母的大小写,例如 a 和 A 代表不同的变量。
> 变量名不超过 63 个字符,第 63 个字符以后的字符将被忽略。
> 不能定义与 MATLAB 关键字同名的变量(例如 if  或 end)。要获取关键字的完整列 表,请在命令行输入 iskeyword 并运行。
有效名称示例:
无效名称示例:
x6
6x
lastValue
end
n  factorial
n!
x_max_value
_max_x
特殊变量
MATLAB  预定义了许多特殊变量,这些变量具有系统默认的含义,下表列举了常见的特殊变量:
特殊变量
描述
ans
系统默认的用于保存运算结果的变量名
pi
圆周率 π
inf / -inf
无穷大和负无穷大,注意 1/0 = inf
NaN
不定值或缺失值。例如计算 0/0  或 0*Inf 会返回 NaN
i 和 j
复数中的虚数单位,例如 3+4i 和 3+4j 表示同一个复数
eps
浮点相对精度。这里涉及到浮点数计算精度的问题,学过 C  语言的同学应 该知道,计算机内部使用二进制 01 对浮点数进行编码,如果小数点后面位 数过长,计算机就无法准确表示。这里你可以简单的将 eps 看成一个非常 小的数, 这个数大约等于2.22 × 10 − 16 ,有时候不想分母为 0 时, 我们就可 以在分母上加上 eps。(未来涉及浮点数的关系运算时,我们还会谈到这一 点)
你可以在命令行窗口输入这些特殊变量进行测试,例如,输入 pi:
notion image
MATLAB 给我们返回的结果是 3.1416,为什么会是这样一个不精确的数呢?
实际上这是 MATLAB 显示的原因, 在系统内部真正执行计算的时候, pi 是一个非常精确 的浮点数。大家可以双击工作区的 ans,然后双击第一个单元格的 3.1416,就会看到一个更加 精确的 pi 值
notion image
另外,当你在命令行窗口输入 eps 时, MATLAB 会返回给我们:
notion image
这个结果出现了一个符号 e ,可能有些同学不太清楚,实际上这是 MATLAB 中的科学计 数法, 上面这个结果等于2.2204 × 10 − 16。类似的, 如果你以后看到 MATLAB 返回 8.51e4,实 际上就是8.51 × 104。

等号“=”给变量赋值

MATLAB 使用等号“=”给变量赋值,例如:“a=3”表示令变量 a 的值等于 3,大家可以 在命令行执行这行代码,然后在工作区就会出现名称为 a 的变量,其值为 3。
接下来, 大家可以重新在命令行执行“a=5”,这时候观察工作区, 你会发现 a 的值变成了 5,这说明在赋值过程中,如果赋值的变量已存在,则 MATLAB 将使用新值代替旧值。
💡
小技巧:你不需要完整的重新输入“a=5 ,点击键盘的“上箭头”,就会出现你输入过的 历史命令,你只需要将原来代码中的 改成 5 就可以啦。

大家也可以使用 MATLAB 打开本节的配套代码: “code2_6 ”进行学习。
打开 m 文件的方法有很多种。你可以直接点击 MATLAB 菜单栏——主页——打开, 然后 选择你要打开的代码文件; 也可以先将 MATLAB 的当前文件夹切换到保存有这个代码的文件 夹,然后再点击对应的文件打开(如果代码在压缩文件中, 请先解压后再打开)。
 

更改 MATLAB 的数值的显示格式

1) 临时更改
我们可以使用 format 命令更改。在运行代码前, 我们在命令行窗口输入 format long g,这  样就能将 MATLAB 的显示设为长格式。(注: format long g 和 format longG 的效果完全一样, 它和 format long  的效果有细微区别。如果返回的数值非常的小或者非常的大, 设置成 format   long g 后,得到的结果仍然会使用科学计数法表示。更多格式设置的选项大家可以看方案二)
2) 永久更改
format 命令更改数值显示格式是临时的,关闭 MATLAB 后重新打开就会恢复成默认的格 式。我们在 MATLAB 的设置中永久更改。大家点击 MATLAB 菜单栏——主页——预设,就 能打开 MATLAB 的设置界面。我们可以点击命令行窗口,将数值格式设置为 long g 即可。
注意, 显示格式只影响数值的显示方式, 不会影响它们在 MATLAB  中的存储方式和计算 精度。关于 MATLAB 支持的数值显示的格式,大家可以使用 doc format 命令自行查阅帮助文 档。
小技巧: 使用 clc 命令可以清空命令行窗口;使用clear 命令可以清空工作区。

有时候, 一些计算结果并不需要在命令行显示, 那么我们可以在代码行的最后加上英文分 号“”,这样计算结果不会出现在命令行, 但在工作区仍然可以查看计算的结果。另外, 如果 想把两行代码放到同一行,这两行代码中间也用英文分号“;”隔开
例如:新建一个脚本, 在里面输入下面三行代码,运行代码并查看命令行窗口和工作区。
a = 1; b = 2;
c = 3;
d = a+b+c

注意: 上面的代码中有三个英文分号“;”,第一个英文分号不能去掉, 它起着隔开两行命 令的作用; 后面的两个分号都能去掉, 例如去掉第二个分号后, 在命令行窗口也会出现 b=2 的 计算结果。

2.7 常见的数学运算函数

大家可以打开本节的配套代码: “code2_7 ”进行学习。
我们先来介绍最基本的五个运算符符号: +    -    *    /     ^  。前面四个符号分别是加减乘除, 最后面的^表示乘方运算(按下键盘上的 Shift 和数字 6  键可以打出来)。
另外, 不同的运算符优先级不同, 所谓的优先级就是指计算的先后顺序。例如乘除运算的 优先级要高于加减运算。以后我们还会学一些运算符号,例如关系运算符大于号> ,大家不用 刻意去记这些运算符号的优先级, 因为我们可以通过添加小括号的方式改变运算的先后顺序, 这个道理想必大家小学就明白了: 3+5*2 的计算结果和(3+5)*2 不同。
接下来我们学习一组最基础的 MATLAB 数值运算的函数:
函数名
功能
计算结果
abs
求绝对值,也可以用来计算复数的模长
abs(1.5)    abs(- 1.5)  abs(3+4i)
% 1.5 % 1.5 % 5
  floor
朝负无穷大四舍五入(将结果四舍五入到小于或等于该元素的最 接近整数)
floor(1.1)   floor(1.9)   floor(-1.1)  floor(- 1.9)
% 1 % 1 % -2 % -2
  fix
朝零四舍五入(相当于删除小数部分,将其截断为整数)
fix(1.1)   fix(1.9)   fix(-1.1)  fix(- 1.9)
% 1 % 1 % -1 % - 1
  ceil
朝正无穷大四舍五入(将结果四舍五入到大于或等于该元素的最 接近整数)
ceil(1.1)   ceil(1.9)   ceil(-1.1)  ceil(-1.9)
% 2 % 2 % -1 % -1
              round
真正意义上的四舍五入函数(将 结果四舍五入为最近的整数,如果为 0.5,则会朝着偏离零的方向 调整) round 函数还有第二种用法, 它可 以输入第二个参数: round(X,N)可以将 X 在第 N 位数 四舍五入,分下面三种情况: 1)   N > 0:四舍五入到小数点右侧 的第 N  位数。 2)   N = 0:四舍五入到最接近的整 数。 3)   N < 0:四舍五入到小数点左侧 的第 N  位数。
%  只有一个输入参数的用法: round(1.1)      %    1 round(1.9)      %    2 round(- 1.1)    %    - 1 round(- 1.9)    %    -2 round(1.5)      %    2 round(- 1.5)    %    -2 %  有两个输入参数的用法: round(3.14159, 1)    %    3.1 round(3.14159, 3)    %    3.142 round(3.14159, 0)    %    3 round(12345.6, - 1)    % 12350 round(12345.6, -2)    % 12300 round(12345.6, -3)    % 12000
mod
mod(a,m)可以计算 a 除以 m 后的余数,其中 a 是被除数, m 是除 数。
mod(11, 3)    % 2 mod(9, 3)      % 0
  sqrt
sqrt(a)可以计算 a 的平方根, 即对 a 开根号。如果 a 为负数则返回复 数结果。其结果和 a^(1/2)等价。
sqrt(9)      % 3 format long g %  计算结果显示为长格式 sqrt(2)      % 1.414213562373095 sqrt(-4)    % 2i
exp
exp 函数可以计算以自然常数 e 为底的指数。
exp(1)    exp(2)    exp(10)
% 2.7183 % 7.3891 % 2.2026e+04
log
log(x)用来计算以自然常数 e 为底 数的对数。
log(2) log(3) log(exp(10))
% 0.6931 % 1.0986 % 10
log2 或者log10
分别用来计算以 2 和 10 为底的对 数。
log2(4)        % 2 log2(1024)    % 10 log10(100)      % 2
另外, MATLAB 中提供了一组“三角学”的函数,大家可以在官网找到:
notion image
正弦
参数的正弦,以弧度为单位
参数的正弦,以度为单位
准确地计算 sin(X*pi)
反正弦(以弧度为单位)
反正弦(以度为单位)
双曲正弦
反双曲正弦
余弦
以弧度为单位的参数的余弦
以度为单位的参数的余弦
准确计算 cos(X*pi)
反余弦(以弧度为单位)
反余弦(以度为单位)
双曲余弦
反双曲余弦
正切
以弧度表示的参数的正切
以度表示的参数的正切
反正切(以弧度为单位)
反正切(以度为单位)
四象限反正切
四象限反正切(以度为单位)
双曲正切
反双曲正切
余割
输入角的余割(以弧度为单位)
以度为单位的参数的余割
反余割(以弧度为单位)
反余割(以度为单位)
双曲余割
反双曲余割
正割
角的正割(以弧度为单位)
参数的正割,以度为单位
反正割(以弧度为单位)
反正割(以度为单位)
双曲正割
反双曲正割
余切
角的余切(以弧度为单位)
以度为单位的参数的余切
反余切(以弧度为单位)
反余切(以度为单位)
双曲余切
反双曲余切
斜边
平方和的平方根(斜边)
转换

度/弧度转换

将角从以度为单位转换为以弧度为单位
将角的单位从弧度转换为度

坐标转换

将笛卡尔坐标转换为极坐标或柱坐标
将笛卡尔坐标转换为球面坐标
将极坐标或柱坐标转换为笛卡尔坐标
将球面坐标转换为笛卡尔坐标
我们常用的计算正弦、余弦和正切的三个函数分别是:sincos 和 tan,这三个函数 的输入参数是要计算的角度,且以弧度作为单位。例如sin(pi/6)和cos(pi/3)的计算结果等于0.5 , tan(pi/4)的计算结果等于 1;如果你要用角度来进行计算,你可以使用 sind 、cosd 和 tand 这一 组函数,例如 sind(30)和 cosd(60)的计算结果等于 0.5 ,tand(45)的计算结果等于 1。
另外, asin acos 和 atan 可用来计算反正弦、反余弦和反正切函数,返回的角度以弧度 作为单位。 MATLAB  官网上还给出了一些不太常用的三角学的函数,大家课后可以自己对照 帮助文档学习。
💡
最后给大家讲两个易错点: (1MATLAB 的乘号不能省略。例如计算 sin(2π)时,我们要在 MATLAB 中输入 sin(2*pi), 中间的乘号不能省略。 (2)在对变量命名时,我们不要将变量命名为函数的名称, 否则会导致调用函数时出错。 例如: 误将 sin 作为了变量名。我们先计算 sin(pi/6),得到的结果为 0.5,结果正确; 然后我们 不小心将 sin 函数作为了一个变量名, 并对其进行了赋值, 例如 sin = 10;接着你再调用 sin(pi/6) 的命令, MATLAB 就会报错:下标索引必须为正整数类型或逻辑类型。这里 MATLAB 将 sin 作为了一个值为 10 的变量,替代了原来计算正弦函数的功能。至于为什么会报这个错误,需 要等大家学完下一章, 要解决这个错误的方法也很简单: 将变量 sin 从工作区删除。我们可以调用 clear 命令,后面跟上 sin,即 clear sin。
💀
浮点数的计算误差

2.8 本章小节

  • 了解了 MATLAB  的界面。 MATLAB  的界面由各个区域构成,区域的位置非常灵活, 可以自由调整,也可以恢复成默认布局。
  • 学习了如何在 MATLAB  中创建后缀为.m  的普通脚本,并给大家介绍了在 MATLAB 新版本中引入的更强大的后缀为.mlx 的实时脚本。
  • 新手非常容易出现一个错误: “未定义函数或者变量”, 如果 MATLAB  在当前文件夹 和搜索路径中都没有找到运行的文件时, 就会提示这个错误, 我们学会了如何解决利 用 MATLAB 的文件管理解决这个问题。
  • 介绍了打开 MATLAB 代码的方式, 推荐大家通过修改 MATLAB 当前文件夹的方式来 打开代码。如果代码在压缩包中,请先解压到文件夹后再打开。
  • 介绍了 MATLAB 的帮助系统, 与同类软件相比, MATLAB 的帮助系统非常完善, 大 家在未来的学习中要经常查阅 MATLAB 的帮助文档。
  • 介绍了 MATLAB 变量命名的规范,并给出了 MATLAB 中预定义的特殊变量。
  • MATLAB 的默认数值显示格式为短类型,我们学会了怎样去更改数值的显示格式。
  • 介绍了 MATLAB  中常见的数学运算函数。未来使用时,大家可以直接查询讲义中提 供的表格,用多了大家自然就会记住了。

2.9 课后习题

课后习题作答
Q1. 前面我们介绍了 MATLAB 的实时脚本,实时脚本的功能非常强大,未来的课程我们 主要使用实时脚本操作。关于实时脚本的使用方法, 我单独录制了一个视频, 请大家 在 b 站搜索《功能强大的 MATLAB 实时脚本》上学习观看,以后不再单独讲解。
 
Q2. 请完成下面的一系列任务:
第一步:在电脑桌面新建一个名为“第二章作业”的文件夹。
第二步:打开 MATLAB,新建一个脚本文件,在里面任意输入一些你学过的代码。 例如 sin(3/2*pi)等等。
第三步:将该脚本保存到“第二章作业”的文件夹中,命名为“homework.m”。 第四步:更改 MATLAB 的当前文件夹为“第二章作业”的文件夹。
第五步:执行你写的脚本,将计算结果作为注释放到每一行的后面。 第六步:清空工作区和命令行窗口。
第七步:将这个普通脚本转换成实时脚本。
第八步:运行实时脚本,将实时脚本导出为 PDF 格式保存。
 
Q3. 下面哪些选项作为变量名在 MATLAB 中不会报错:(  ADF   )
A 、abc_        B 、@a10        C 、end         D 、qfzs        E 、520ff F 、cos
 
Q4. (1)前面我们学习了计算对数的一组函数, 分别是 log, log2 和 log10,那么我们应该 怎样计算以任意正数为底的对数呢?例如计算log3 81=log81/log3。(2)请计算 sin(2π)的值, 如果 你得到的结果不是 0,应该怎么给别人解释? 浮点数的计算误差
 
Q5. 填空题:
(1) 命令  clear     可用来清空工作区;命令  clc      可用来清空命令行窗口。
(2) 如果我们不小心将函数 log 作为了变量名并将其赋值给了 5,然后在后面调 用 log(4)时会报错,这时我们应该:clear log         
(3) 遇到错误“未定义函数或变量 homework”时,  可以  将当前文件夹改为所需文件夹                 
(4) MATLAB 使用  %   开头进行注释, 注释不会被运行。对多行进行注释的快捷键是    选中所需注释行+ctrl+R       ,取消多行注释的快捷键是      选中不需注释行+ctrl+T       
(5) 如果不需要在命令行显示计算结果, 我们可以在代码行的最后加上      
(6) 如果 MATLAB 返回 2.187e- 15,这个值代表的含义是      2.187*10^(-15)          
(7) 要将 MATLAB 的数值显示设置为长格式, 你可以    format long g                  
(8) 如果你要查询 round 的使用方法,你可以     命令窗口输入help round           
(9) 清风老师有 1314 颗糖,要平均分给班上的 52 名同学。如果有多的糖,就带回家给媳妇吃。那么每名同学可以分   fix(1314/52)或者 floor(1314/52)              颗糖,清风的媳妇可以分到     mod(1314,52)           颗糖。(填写 MATLAB 计算的表达式,下同)
(10)某天,清风举办婚礼消费了 61452 元,店家答应抹除低于 1000 元的零头, 那么清风还要出多少钱:    fix(61452/1000)*1000或者 floor(1314/52)*1000或者61452-mod(61452,1000)                
 
Q6. 补充的两道练习题:
(1) 给你一个常数 x ,如何利用本章所学知识判断 x 是小数还是整数?(本题至少 有两种不同的思路哦)
x-fix(x)是否为0
mod(x,1)是否为0
(2) 给你任意一个三位正整数 x,如何提取 x 的百位、十位和个位数, 并分别用 a、
b 、c 三个变量保存。例如 x = 567 时,我们要得到 a = 5 、b = 6 、 c = 7.
a=fix(x/100),b=mod(floor(x/10),10)或者b=fix(mod(x,100)/10),c=mod(x,10)
x=4567
a=mod(x,10),b=mod(fix(x/10),10),c=mod(fix(x/100),10),d=floor(x/1000)
本章作业答案可观看视频:


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