MATLAB 2019A 中文手册
程彦轲1
2019 年 7 月 14 日
11835990958@qq.com
1
2019 年 6 月 22 日,我从辅导员那儿拿到了大学毕业证书。回顾四年,在学
习上似乎没有做过非常值得回味的事情,展望未来的研究生生活,我不希望日子
继续过的迷茫,希望在学术上能有所发展。Matlab 是理工科经常用的工具,虽
然市面上有各种各样的学习书籍,然而其官方的使用手册无疑是权威的入门资
料,然而我却一直没找到 PDF 中文版,所以我希望能够整理一下,方便日后的
使用。当初参加美赛的时候接触到了 latex,趁此机会,学习并利用 latex 排
版此篇文档,为将来写论文打下基础。
对于未来发布的 Matlab 新版本文档我也会持续关注,并及时更新,以便
学习。若您发现文档中存在错误或者有其他建议,希望您能通过首页邮箱联系
我,再次感谢。
文档中的主要内容来源:
https://ww2.mathworks.cn/help/matlab/learn_matlab/desktop.html?
lang=en
https://ww2.mathworks.cn/help/matlab/learn_matlab/desktop.html
目录
第一章 初步认知
1.1 MATLAB 产品介绍 . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 主要优势 . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 桌面基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 矩阵和数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 数组索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 工作区变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 文本和字符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.1 字符串数组中的文本 . . . . . . . . . . . . . . . . . . . . .
1.6.2 字符数组中的数据 . . . . . . . . . . . . . . . . . . . . . .
1.7 调用函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8 二维图和三维图 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8.1 线图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8.2 三维绘图 . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8.3 子图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9 编程和脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9.1 示例脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9.2 实时脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9.3 循环语句和条件语句 . . . . . . . . . . . . . . . . . . . . .
1.9.4 脚本位置 . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10 帮助和文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第二章 语言基础
2.1 矩阵和幻方矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 关于矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 输入矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 矩阵求和、转置和对角矩阵 . . . . . . . . . . . . . . . . .
2.1.4 magic 矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.5 生成矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
6
7
8
11
13
13
13
14
15
16
16
19
20
21
21
22
23
24
24
25
25
25
26
27
28
29
2
目录
2.2 表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 数字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 矩阵运算符 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 数组运算符 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.5 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.6 表达式示例 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 输入命令行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1
format 函数 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 取消输出 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 输入长语句 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4 命令行编辑 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 下标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 冒号运算符 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.3 串联 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.4 删除行和列 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.5 标量扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.6 逻辑下标 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.7
find 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 数组类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 元胞数组 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 字符与文本 . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3 结构体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第三章 数学运算
3.1 线性代数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 MATLAB 环境中的矩阵 . . . . . . . . . . . . . . . . . . .
3.1.2 线性方程组 . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 分解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.4 幂和指数 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.5 特征值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.6 奇异值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.7 非线性函数的运算 . . . . . . . . . . . . . . . . . . . . . .
3.2 多变量数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 数据分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 数据的预处理 . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3 汇总数据 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
30
30
30
32
32
33
34
35
35
36
36
36
37
37
38
38
39
40
40
41
42
43
45
47
51
51
51
60
70
75
77
80
83
85
86
86
86
91
目录
4
3.3.4 可视化数据 . . . . . . . . . . . . . . . . . . . . . . . . . .
95
3.3.5 数据建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
第四章 绘图
109
4.1 基本绘图函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.1.1 创建绘图 . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.1.2 在一幅图形中绘制多个数据集 . . . . . . . . . . . . . . . . 111
4.1.3 指定线型和颜色 . . . . . . . . . . . . . . . . . . . . . . . . 113
4.1.4 绘制线条和标记 . . . . . . . . . . . . . . . . . . . . . . . . 114
4.1.5 绘制虚数和复数数据 . . . . . . . . . . . . . . . . . . . . . 116
4.1.6 将绘图添加到现有图形中 . . . . . . . . . . . . . . . . . . 116
4.1.7 图窗窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.1.8 在一幅图窗中显示多个绘图 . . . . . . . . . . . . . . . . . 118
4.1.9 控制轴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4.1.10 添加轴标签和标题 . . . . . . . . . . . . . . . . . . . . . . 120
4.1.11 保存图窗 . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.1.12 保存工作区数据 . . . . . . . . . . . . . . . . . . . . . . . . 122
4.2 创建网格图和曲面图 . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.2.1 关于网格图和曲面图 . . . . . . . . . . . . . . . . . . . . . 122
4.2.2 可视化包含两个变量的函数 . . . . . . . . . . . . . . . . . 122
4.3 显示图像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.3.1 图像数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.3.2 读取和写入图像 . . . . . . . . . . . . . . . . . . . . . . . . 128
4.4 打印图形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.4.1 打印概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.4.2 从 “文件” 菜单打印 . . . . . . . . . . . . . . . . . . . . . 129
4.4.3 将图窗导出到图形文件 . . . . . . . . . . . . . . . . . . . . 129
4.4.4 使用 Print 命令 . . . . . . . . . . . . . . . . . . . . . . . . 129
4.5 处理图形对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.5.1 图形对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.5.2 设置对象属性 . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.5.3 用于处理对象的函数 . . . . . . . . . . . . . . . . . . . . . 133
4.5.4 传递参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.5.5 查找现有对象的句柄 . . . . . . . . . . . . . . . . . . . . . 135
第五章 程序设计
137
5.1 控制流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.1.1 条件控制 - if、else、switch . . . . . . . . . . . . . . . . . 137
5.1.2 循环控制 - for、while、continue、break . . . . . . . . . . 140
目录
5
5.1.3 程序终止 - return . . . . . . . . . . . . . . . . . . . . . . . 142
5.1.4 向量化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.1.5 预分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.2 脚本和函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.2.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.2.2 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.2.3 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.2.4 函数类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.2.5 全局变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.2.6 命令与函数语法 . . . . . . . . . . . . . . . . . . . . . . . . 148
第一章 初步认知
1.1 MATLAB 产品介绍
全球有成千上万的工程师和科学家都在用 MATLAB 进行分析、设计系统和
产品,这些产品正在改变着世界。 MATLAB 不仅应用在汽车主动安全系统、星
际探测器、健康监测设备、智能电网以及 LTE 蜂窝网络,还在机器学习、信号
处理、图像处理、机器视觉、通信、计量经济、控制系统设计、机器人等多领域
发挥作用。
数学;图像;算法;
MATLAB 是解决工程和科学问题的极佳工具。基于矩阵的 MATLAB 语言是世
界上最自然的数学计算表达方式。而且其内置的绘图函数也使得数据变得更加
直观,更具洞察性地分析数据之间的关系。 MATLAB 还提供了大量的工具箱,这
些工具箱包含你所研究领域的必要算法,使你的研究能够迅速开展。MATLAB 的
更多功能需要你的实践、探索和发掘。这些 MATLAB 的工具和功能都是经过严
格测试并且可以协同工作的。
规模;集成;部署;
MATLAB 可以使您的想法不仅仅局限在个人终端。你可以分析更大的数据集
并且可以达到到集群和云规模。 MATLAB 代码也可以与其他编程语言结合使您
能够在 web 、企业和生产系统中部署算法和应用程序。
1.1.1 主要优势
1.用于科学和工程计算的高级语言
2.为迭代开发、设计和解决问题而优化的桌面环境
3.数据可视化以及可自定义的绘图工具
4.具备丰富的APP来进行曲线拟合、数据分类、信号分析、控制系统
优化以及其他任务
5.附加工具箱应用于广泛的工程和科学领域
6.提供实现用户自定义应用程序的工具
7.可与C/C++、Java、.NET、Python、SQL、Hadoop以及Microsoft
Excel结合
6
第一章 初步认知
7
8.可选择免版税部署的方式与最终用户共享MATLAB程序
1.2 桌面基础知识
当你打开 MATLAB 时,其默认布局如图1.1。
图 1.1: 界面默认布局
默认界面包括如下模块:
Current Folder:当前文件夹,用于访问文件
Command Window:命令行窗口,在命令行中输入命令
Workspace:工作区,显示你已创建或者从其他文件导入的数据
当你使用 MATLAB 时,你需要输入创建变量及调用函数的命令。例如,在
命令窗口输入如下语句来创建一个名为 a 的变量:a = 1
MTALAB 会把变量 a 添加到工作区并在命令窗口把结果打印出来。
a =
1
创建更多的变量:
b = 2
b =
2
c = a+b
c =
3