目 录 第1章 初识MATLAB 1 1.1 MATLAB概述 1 1.1.1 MATLAB的发展历程 1 1.1.2 MATLAB的基本功能 2 1.2 安装与启动MATLAB 3 1.2.1 安装要求和版本选择 3 1.2.2 安装MATLAB 4 1.2.3 启动与退出 8 1.3 MATLAB工作环境 9 1.3.1 主窗口 9 1.3.2 命令行窗口 10 1.3.3 工作区窗口 11 1.3.4 当前文件夹窗口 11 1.3.5 命令历史记录窗口 12 1.4 MATLAB帮助系统 13 1.4.1 帮助中心 13 1.4.2 命令行窗口帮助功能 13 1.4.3 演示帮助 16 1.5 课程思政 16 练习一 17 参考答案 18 第2章 MATLAB语言基础 19 2.1 常量与变量 19 2.2 矩阵的基本操作 20 2.2.1 矩阵的创建 20 2.2.2 矩阵中元素的表示 23 2.2.3 矩阵结构的变换 25 2.3 运算符 27 2.3.1 算术运算符 28 2.3.2 关系运算符 29 2.3.3 逻辑运算符 31 2.3.4 运算符的优先级 31 2.4 矩阵运算函数 32 2.4.1 常用数学函数 32 2.4.2 矩阵分析函数 33 2.5 字符串处理 39 2.6 程序控制结构 42 2.6.1 顺序结构 42 2.6.2 选择结构 43 2.6.3 循环结构 46 2.7 M文件的结构与调试 49 2.7.1 M文件的结构 49 2.7.2 M文件的调试 51 2.8 实验一:MATLAB程序流程控制设计 54 2.8.1 实验目的 54 2.8.2 实验内容 54 2.8.3 参考程序 55 2.9 实验二:M文件的应用 56 2.9.1 实验目的 56 2.9.2 实验内容 56 2.9.3 参考程序 56 2.10 课程思政 57 练习二 58 参考答案 59 第3章 数据可视化 61 3.1 二维图形绘制 61 3.1.1 基本绘图命令 62 3.1.2 线型、数据点型和颜色 67 3.1.3 多条曲线的绘制 68 3.1.4 图形标注与坐标控制 70 3.1.5 子图绘制 73 3.2 三维图形绘制 74 3.2.1 三维曲线的绘制 74 3.2.2 三维曲面的绘制 75 3.3 交互式绘图工具 76 3.4 实验三:MATLAB绘图设计 77 3.4.1 实验目的 77 3.4.2 实验内容 77 3.4.3 参考程序 78 3.5 课程思政 79 练习三 80 参考答案 81 第4章 符号计算 82 4.1 符号对象与表达式 82 4.2 符号微积分 92 4.3 符号方程求解 96 4.4 实验四:MATLAB符号运算 99 4.4.1 实验目的 99 4.4.2 实验内容 99 4.4.3 参考程序 99 4.5 课程思政 102 练习四 102 参考答案 103 第5章 数据分析 108 5.1 数据的特征量 108 5.1.1 随机变量的数字特征 108 5.1.2 随机变量的分布 112 5.1.3 参数估计 115 5.2 数据统计处理 117 5.2.1 假设检验 117 5.2.2 方差分析 117 5.2.3 其他数据统计方法 118 5.3 多项式计算 118 5.3.1 多项式的表示 118 5.3.2 多项式的计算 119 5.3.3 多项式回归分析 120 5.4 数据插值与拟合 121 5.4.1 一维数据插值 121 5.4.2 二维与多维数据插值 122 5.4.3 其他插值方法 123 5.4.4 多元线性回归 124 5.4.5 最小二乘法拟合 124 5.4.6 其他拟合方法 125 5.5 最优化问题 126 5.5.1 无约束最优化 126 5.5.2 约束最优化 127 5.5.3 MATLAB常用最优化函数 127 5.6 实验五:MATLAB最优化方法的应用 128 5.6.1 实验目的 128 5.6.2 实验内容 128 5.6.3 参考程序 129 5.7 课程思政 130 练习五 131 参考答案 131 第6章 图形用户界面设计 133 6.1 图形用户界面对象概述 133 6.1.1 图形对象 133 6.1.2 图形对象句柄 133 6.1.3 控件对象 136 6.1.4 控件对象的常用属性 137 6.1.5 回调函数 140 6.1.6 控件对象创建函数 141 6.2 对话框设计 142 6.3 菜单设计 144 6.3.1 菜单的建立 144 6.3.2 常用菜单属性 144 6.3.3 快捷菜单 146 6.4 使用GUIDE创建图形用户界面 147 6.4.1 GUIDE简介 147 6.4.2 可视化界面设计工具 148 6.4.3 GUIDE设计实例 153 6.5 实验六:使用命令行窗口创建对象控件 156 6.5.1 实验目的 156 6.5.2 实验内容 156 6.5.3 参考程序 156 6.6 实验七:使用GUIDE设计一个简单计算器 157 6.6.1 实验目的 157 6.6.2 实验内容 157 6.6.3 参考程序 157 6.7 课程思政 159 练习六 159 参考答案 161 第7章 Simulink建模与仿真 163 7.1 Simulink模块库 163 7.1.1 Simulink公共模块库 163 7.1.2 Simulink专业模块库 169 7.2 Simulink建模的基本操作 170 7.2.1 模块的基本操作 171 7.2.2 模块使用与参数设置 172 7.2.3 子系统封装 174 7.3 Simulink的建模与仿真 176 7.3.1 线性系统的建模与仿真 176 7.3.2 非线性系统的建模与仿真 183 7.4 S-函数 184 7.4.1 S-函数的工作方式 184 7.4.2 S-函数设计举例 184 7.5 电力系统建模与仿真 186 7.5.1 电路的仿真 186 7.5.2 电机系统仿真 189 7.6 实验八:Simulink平台系统建模与仿真 190 7.6.1 实验目的 190 7.6.2 实验内容 190 7.6.3 参考程序 191 7.7 课程思政 193 练习七 194 参考答案 195 第8章 MATLAB在控制系统分析中的应用 197 8.1 控制系统数学建模 197 8.1.1 控制系统模型 197 8.1.2 系统模型间的转换 202 8.1.3 模型的连接化简 203 8.2 控制系统稳定性分析 209 8.3 控制系统时域分析与应用举例 214 8.4 控制系统根轨迹分析与应用举例 220 8.4.1 一般根轨迹 221 8.4.2 广义根轨迹 223 8.4.3 增加零极点对系统根轨迹的影响 225 8.4.4 基于根轨迹法的系统校正 227 8.5 控制系统频域分析与应用举例 229 8.5.1 系统频域特性与稳定性分析 229 8.5.2 基于频域法的系统校正 232 8.6 实验九:线性系统时域与频域响应仿真分析 237 8.6.1 实验目的 237 8.6.2 实验内容 237 8.6.3 参考程序 238 8.7 课程思政 242 练习八 243 参考答案 244 第9章 MATLAB在数字图像处理中的应用 247 9.1 医学图像处理平台的设计 247 9.1.1 平台界面的搭建 247 9.1.2 组件回调函数的设计 249 9.2 雾霾场景下基于Retinex的图像去雾 264 9.2.1 Retinex基本原理 264 9.2.2 单尺度Retinex去雾 264 9.2.3 多尺度Retinex去雾 267 9.3 结合语义特征的人脸图像去模糊 272 9.3.1 网络结构 273 9.3.2 损失函数 274 9.3.3 训练策略 275 9.3.4 MATLAB实现 276 9.4 课程思政 280 练习九 281 参考文献 282 IV MATLAB语言与工程应用 V 目录