MATLAB R2020a完全自学一本通

 软件图书  图书/计算机与互联网/辅助设计与工程计算
产品特色

编辑推荐

由浅入深,循序渐进:本书以初、中级读者为对象,首先从MATLAB的基础知识讲起,辅以MATLAB在工程中的应用案例,帮助读者尽快掌握利用MATLAB进行科学计算及工程分析的技能。

步骤详尽,内容新颖:本书结合作者多年MATLAB使用经验与实际工程应用案例,对MATLAB软件的使用方法与技巧进行详细讲解。本书内容新颖,在讲解过程中辅以相应的图片,使读者在阅读时一目了然,从而快速掌握书中所讲内容。

实例典型,轻松易学:学习实际工程应用案例的具体操作是掌握MATLAB的方式。本书通过应用案例,透彻、详尽地讲解了MATLAB在各方面的应用。


内容简介

本书面向MATLAB的初、中级读者,在介绍MATLAB R2020a集成环境的基础上,对MATLAB使用中常用的知识和工具进行了详细的介绍。书中各章均提供了大量有针对性的示例,可供读者实战练习。

根据内容的侧重点不同,全书分为4部分,共24章:第1~5章为基础部分;第6~10章为数学应用部分;第11~15章为工程应用部分;第16~20章为高级应用部分,第21~24章为知识拓展部分。由于篇幅受限,第19~24章为赠送电子图书部分。

为了使用户能够更好地操作MATLAB,本书中示例的命令已记录在M文件及其他相关文件中,用户可以将相关的目录设置为工作目录,直接使用M文件进行操作,以便快速掌握MATLAB的使用方法。


作者简介

刘浩,男,毕业于天津工业大学。04年获得Adobe系列产品专家证书,ACCD平面设计师证书,CEAC国家信息产业平面设计师证书。上海碧海金沙设计总监,上海Nordri设计工作室(上海诺睿网络信息科技有限公司)创始人兼任设计总监,北京拓扑人咨询高级顾问,wps office签约讲师,复旦MBA港大项目组签约讲师。

目录

第1部分
第1章 MATLAB R2020a概述 1
1.1 MATLAB简介 2
1.1.1 MathWorks及其产品概述 2
1.1.2 MATLAB与其他数学软件 2
1.1.3 MATLAB的主要特点 3
1.1.4 MATLAB系统的组成 3
1.1.5 MATLAB应用程序简介 4
1.2 MATLAB R2020a的目录结构 5
1.3 MATLAB R2020a的工作环境 6
1.3.1 选项卡/面板 6
1.3.2 命令行窗口 7
1.3.3 工作区窗口 8
1.4 MATLAB的通用命令 8
1.5 MATLAB文件管理 9
1.5.1 当前文件夹窗口 9
1.5.2 搜索路径及其设置 10
1.6 MATLAB帮助系统 12
1.6.1 纯文本帮助 12
1.6.2 演示(Demos)帮助 13
1.6.3 帮助导航浏览器 13
1.7 初步使用MATLAB 13
1.8 本章小结 14


第2章 MATLAB基础知识 15
2.1 数据类型 16
2.1.1 数值类型 16
2.1.2 逻辑类型 20
2.1.3 字符和字符串 22
2.1.4 函数句柄 24
2.1.5 结构体类型 26
2.1.6 数组类型 29
2.1.7 单元数组类型 31
2.1.8 map容器类型 34
2.2 基本矩阵操作 38
2.2.1 矩阵和数组的概念及其区别 38
2.2.2 矩阵的构造 39
2.2.3 矩阵大小及结构的改变 43
2.2.4 矩阵下标引用 44
2.2.5 矩阵信息的获取 47
2.2.6 矩阵的保存和加载 52
2.3 运算符 57
2.3.1 算术运算符 58
2.3.2 关系运算符 59
2.3.3 逻辑运算符 60
2.3.4 运算优先级 61
2.4 字符串处理函数 62
2.4.1 字符串的构造 62
2.4.2 字符串比较函数 64
2.4.3 字符串查找和替换函数 64
2.4.4 字符串―数值转换 66
2.5 本章小结 66
第3章 数组与矩阵 67
3.1 数组运算 68
3.1.1 数组的创建和操作 68
3.1.2 数组的常见运算 71
3.2 矩阵操作 76
3.2.1 创建矩阵 76
3.2.2 改变矩阵大小 80
3.2.3 重构矩阵 83
3.3 矩阵元素的运算 83
3.3.1 矩阵的加减法运算 83
3.3.2 矩阵的乘法运算 84
3.3.3 矩阵的除法运算 86
3.3.4 矩阵的幂运算 86
3.3.5 矩阵元素的查找 87
3.3.6 矩阵元素的排序 88
3.3.7 矩阵元素的求和 88
3.3.8 矩阵元素的求积 89
3.3.9 矩阵元素的差分 90
3.4 矩阵运算 91
3.4.1 矩阵分析 91
3.4.2 矩阵分解 96
3.4.3 特征值和特征向量 102
3.5 稀疏矩阵 104
3.5.1 稀疏矩阵的存储方式 104
3.5.2 稀疏矩阵的生成 104
3.5.3 稀疏矩阵的运算 109
3.6 本章小结 109
第4章 MATLAB编程基础 110
4.1 M文件编辑器 111
4.2 变量 114
4.2.1 变量的命名 114
4.2.2 变量的类型 114
4.2.3 MATLAB默认的特殊变量 115
4.2.4 关键字 115
4.3 MATLAB的控制流 116
4.3.1 顺序结构 116
4.3.2 if-else-end分支结构 117
4.3.3 switch-case结构 118
4.3.4 try-catch结构 120
4.3.5 for循环结构 121
4.3.6 while循环结构 123

4.4 控制程序流的其他常用指令 124
4.4.1 return指令 124
4.4.2 input和keyboard指令 124
4.4.3 yesinput指令 125
4.4.4 pause指令 125
4.4.5 continue指令 125
4.4.6 break指令 126
4.4.7 error和warning指令 126
4.5 脚本和函数 127
4.5.1 脚本 127
4.5.2 函数 128
4.5.3 M文件的一般结构 129
4.5.4 匿名函数、子函数、私有函数与私有目录 131
4.5.5 重载函数 132
4.5.6 eval和feval函数 133
4.5.7 内联函数 135
4.5.8 向量化和预分配 138
4.5.9 函数的函数 138
4.5.10 P码文件 139
4.6 M文件中变量的检测与传递 141
4.6.1 输入/输出变量检测指令 141
4.6.2 “可变数量”输入/输出变量 141
4.6.3 跨空间变量传递和赋值 143
4.7 MATLAB程序的调试 145
4.7.1 程序调试的基本概念 145
4.7.2 直接调试法 146
4.7.3 使用调试函数进行调试 147
4.7.4 工具调试法 150
4.7.5 程序的性能优化技术 151
4.8 本章小结 152
第5章 数据可视化 153
5.1 图形绘制 154
5.1.1 离散数据及离散函数 154
5.1.2 连续函数 155
5.1.3 图形绘制示例 155
5.1.4 图形绘制的基本步骤 157
5.2 二维图形绘制 157
5.2.1 plot指令 158
5.2.2 栅格 162
5.2.3 文字说明 162
5.2.4 线型、标记和颜色 165
5.2.5 坐标轴设置 168
5.2.6 图形叠绘 169
5.2.7 子图绘制 169
5.2.8 交互式绘图 171
5.2.9 双坐标轴绘制 172
5.2.10 fplot绘图指令 173
5.2.11 ezplot绘图指令 174
5.2.12 特殊坐标轴绘图 174
5.2.13 二维特殊图形函数 176
5.3 三维图形绘制 180
5.3.1 曲线图绘制 180
5.3.2 网格图绘制 181
5.3.3 曲面图绘制 182
5.3.4 光照模型 183
5.3.5 绘制等值线图 184
5.4 四维图形可视化 185
5.4.1 用颜色描述第四维 185
5.4.2 其他函数 186
5.5 本章小结 187
第2部分
第6章 数据分析 188
6.1 多项式及其函数 189
6.1.1 多项式的表达式和创建 189
6.1.2 多项式求根 190
6.1.3 多项式的四则运算 191
6.1.4 多项式的导数、积分与估值 193
6.1.5 多项式运算函数及操作指令 194
6.1.6 有理多项式 195

6.2 数据插值 196
6.2.1 一维插值 196
6.2.2 二维插值 199
6.3 函数的极限 200
6.3.1 极限的概念 201
6.3.2 求极限的函数 201
6.4 函数数值积分 202
6.4.1 数值积分问题的数学表述 202
6.4.2 一元函数的数值积分 203
6.4.3 多重数值积分 204
6.5 本章小结 205
第7章 符号计算 206
7.1 MATLAB符号计算概述 207
7.2 符号对象和符号表达式 207
7.2.1 符号对象的创建命令 207
7.2.2 符号对象的创建示例 208
7.2.3 符号计算中的运算符和函数 211
7.2.4 符号对象的类别识别函数 214
7.2.5 符号表达式中的变量确定 216
7.2.6 符号精度计算 217
7.3 符号表达式操作 219
7.3.1 符号表达式显示 219
7.3.2 符号表达式合并 219
7.3.3 符号表达式展开 220
7.3.4 符号表达式嵌套 221
7.3.5 符号表达式分解 221
7.3.6 符号表达式化简 222
7.4 符号表达式替换 223
7.4.1 subs替换函数 223
7.4.2 subexpr替换函数 224
7.5 符号函数的操作 225
7.5.1 复合函数操作 225
7.5.2 反函数操作 226


7.6 符号微积分 227
7.6.1 符号表达式的极限 227
7.6.2 符号表达式的微分 228
7.6.3 符号表达式的积分 230
7.6.4 符号表达式的级数求和 231
7.6.5 符号表达式的泰勒级数 231
7.7 符号积分变换 232
7.7.1 傅里叶变换及其反变换 233
7.7.2 拉普拉斯变换及其反变换 234
7.7.3 Z变换及其反变换 234
7.8 符号代数方程求解 236
7.9 符号微分方程求解 238
7.10 符号分析可视化 240
7.10.1 funtool分析界面 240
7.10.2 taylortool分析界面 243
7.11 本章小结 244
第8章 概率统计 245
8.1 产生随机变量 246
8.1.1 二项分布的随机数据的产生 246
8.1.2 正态分布的随机数据的产生 246
8.1.3 常见分布的随机数产生 247
8.2 概率密度计算 248
8.2.1 通用函数概率密度值 248
8.2.2 专用函数概率密度值 250
8.3 累积概率分布 251
8.3.1 通用函数累积概率值 251
8.3.2 专用函数累积概率值 252
8.4 统计特征 253
8.4.1 平均值、中值 253
8.4.2 数据比较 254
8.4.3 期望 255
8.4.4 方差和标准差 255
8.4.5 协方差与相关系数 255

8.5 统计作图 257
8.5.1 正整数频率表 257
8.5.2 累积分布函数图形 257
8.5.3 最小二乘拟合直线 258
8.5.4 绘制正态分布概率图形 259
8.5.5 样本数据的盒图 259
8.5.6 参考线绘制 260
8.5.7 样本概率图形 262
8.5.8 正态拟合直方图 262
8.6 本章小结 263
第9章 数学建模函数 264
9.1 曲线拟合函数 265
9.1.1 多项式拟合 265
9.1.2 加权最小方差(WLS)拟合原理及示例 266
9.1.3 非线性曲线拟合 268
9.2 参数估计函数 269
9.2.1 常见分布的参数估计 269
9.2.2 点估计 271
9.2.3 区间估计 273
9.3 参数传递 273
9.3.1 输入和输出参数的数目 274
9.3.2 可变数目的参数传递 275
9.3.3 返回被修改的输入参数 275
9.3.4 全局变量 276
9.4 本章小结 277
第10章 经典智能算法 278
10.1 粒子群算法的MATLAB实现 279
10.1.1 基本原理 279
10.1.2 程序设计 280
10.1.3 经典应用 286
10.2 遗传算法的MATLAB实现 290
10.2.1 基本原理 291
10.2.2 程序设计 293
10.2.3 经典应用 298
10.3 蚁群算法概述 304
10.3.1 基本原理 304
10.3.2 程序设计 305
10.3.3 经典应用 307
10.4 本章小结 314
第3部分
第11章 偏微分方程工具箱 315
11.1 偏微分方程工具箱介绍 316
11.1.1 偏微分方程常见类型介绍 316
11.1.2 偏微分方程工具箱简介 321
11.2 求解偏微分方程示例 323
11.2.1 求解椭圆方程 323
11.2.2 求解抛物线方程 327
11.2.3 求解双曲线方程 331
11.2.4 求解特征值方程 335
11.3 本章小结 338
第12章 优化工具箱 339
12.1 优化工具箱及最优化问题介绍 340
12.1.1 优化工具箱中的常用函数 340
12.1.2 最优化问题 343
12.2 线性规划 346
12.2.1 线性规划函数 346
12.2.2 线性规划问题的应用 347
12.3 无约束非线性规划 355
12.3.1 基本数学原理介绍 356
12.3.2 无约束非线性规划函数 356
12.3.3 无约束非线性规划问题的应用 360
12.4 二次规划 360
12.4.1 二次规划函数quadprog 360
12.4.2 二次规划问题的应用 362
12.5 有约束最小化 363
12.5.1 有约束最小化函数fmincon 363
12.5.2 有约束最小化应用 366
12.6 目标规划 367
12.6.1 目标规划函数fgoalattain 367
12.6.2 目标规划应用 370
12.7 最大最小化 373
12.7.1 最大最小化函数fminimax 374
12.7.2 最大最小化应用 375
12.8 本章小结 377
第13章 小波分析工具箱 378
13.1 小波分析 379
13.1.1 小波分析概述 379
13.1.2 傅里叶变换和小波变换 380
13.1.3 多分辨分析 383
13.1.4 小波包分析 385
13.1.5 几种常用的小波 388
13.1.6 小波应用演示示例 390
13.2 小波分析工具箱介绍 392
13.2.1 小波分析工具箱的启动 392
13.2.2 一维连续小波分析工具 393
13.2.3 一维离散小波分析工具 397
13.3 小波分析在图像处理中的应用 402
13.3.1 基于小波变换的图像局部压缩 403
13.3.2 二维小波变换的图像压缩 404
13.3.3 图像压缩中阈值的确定与作用命令 407
13.3.4 基于小波包变换的图像压缩 409
13.3.5 小波变换用于图像去噪 410
13.3.6 小波分析用于图像增强 414
13.3.7 图像钝化与锐化 415
13.3.8 小波分析用于图像融合 418
13.3.9 小波分析用于图像分解 419
13.4 本章小结 422
第14章 Simulink仿真基础 423
14.1 Simulink概述 424
14.1.1 Simulink的基本概念 424
14.1.2 Simulink的工作环境与启动 426
14.1.3 Simulink模型的特点 428
14.1.4 Simulink模块的组成 429
14.1.5 Simulink中的数据类型 430
14.1.6 Simulink中的模块和模块库 433
14.1.7 Simulink常用工具 437
14.1.8 Simulink的示例演示 438
14.2 Simulink模型创建 441
14.2.1 Simulink模块的基本操作 441
14.2.2 模型和模型文件 444
14.2.3 创建模型的基本步骤和技巧 446
14.3 过零检测和代数环 449
14.3.1 过零检测 449
14.3.2 代数环 451
14.4 本章小结 452
第15章 Simulink仿真应用 453
15.1 子系统的创建和封装 454
15.1.1 子系统介绍 454
15.1.2 创建子系统 455
15.1.3 封装子系统 456
15.2 仿真模型的分析 459
15.2.1 模型状态的确定 459
15.2.2 线性化的数学描述 461
15.2.3 平衡点分析 462
15.2.4 微分方程的求解算法 463
15.3 运行仿真 464
15.3.1 启动仿真 465
15.3.2 仿真的配置 467
15.3.3 优化仿真过程 472
15.4 模型调试 474
15.4.1 Simulink调试器 475
15.4.2 命令行调试及设置断点 475
15.5 Simulink实例应用 476
15.6 本章小结 481

第4部分
第16章 句柄图形对象 482
16.1 句柄图形对象体系 483
16.1.1 句柄图形组织 483
16.1.2 句柄图形对象类型简介 483
16.2 句柄图形对象操作 484
16.2.1 创建对象 484
16.2.2 访问对象句柄 486
16.2.3 复制和删除对象 488
16.2.4 控制图形输出 489
16.2.5 保存句柄 493
16.3 对象属性设置 494
16.3.1 设置属性 494
16.3.2 设置默认属性 495
16.3.3 通用属性 498
16.4 Figure对象 498
16.4.1 Figure对象介绍 498
16.4.2 Figure对象操作 499
16.5 Axes对象 500
16.5.1 标签与外观 500
16.5.2 位置 501
16.5.3 一图多轴 502
16.5.4 坐标轴控制 505
16.5.5 线条颜色控制 506
16.5.6 绘图操作 507
16.6 Core对象 508
16.6.1 Core对象介绍 508
16.6.2 Core对象创建示例 509
16.7 Plot对象 509
16.7.1 Plot对象介绍 509
16.7.2 Plot对象创建示例 510
16.7.3 连接变量 510
16.8 Group对象 511
16.8.1 Group对象介绍 511
16.8.2 创建Group对象 511
16.8.3 对象变换 512
16.9 Annotation对象 513
16.9.1 Annotation对象介绍 513
16.9.2 Annotation对象使用示例 513
16.10 本章小结 514
第17章 图形用户界面 515
17.1 图形用户界面介绍 516
17.2 图形用户界面控件 516
17.2.1 图形用户界面控件的创建 517
17.2.2 鼠标动作执行 519
17.2.3 事件队列的执行顺序 520
17.2.4 回调函数的编写 521
17.3 对话框对象 524
17.3.1 公共对话框 524
17.3.2 一般对话框 527
17.4 界面菜单 533
17.4.1 菜单建立 534
17.4.2 菜单属性 534
17.5 编写M文件 536
17.6 图形用户界面创建工具GUIDE 537
17.6.1 利用创建工具GUIDE进行GUI设计 537
17.6.2 GUIDE创建的工具 543
17.6.3 创建带Uicontrol控件的图形用户界面 545
17.7 本章小结 546
第18章 文件I/O操作 547
18.1 文件夹的管理 548
18.1.1 当前文件夹管理 548
18.1.2 创建文件夹 551
18.1.3 删除文件夹 552
18.1.4 复制或移动文件夹 553
18.2 打开和关闭文件 556
18.2.1 打开文件 556
18.2.2 关闭文件 557
18.3 工作区数据――MAT文件 558
18.3.1 输出数据到MAT文件 558
18.3.2 读取MAT文件――load函数 559
18.3.3 查看MAT文件的变量 559
18.4 读/写二进制文件 560
18.4.1 写二进制文件 560
18.4.2 读二进制文件 562
18.5 读/写文本文件 564
18.5.1 写文本文件 564
18.5.2 读文本文件 565
18.5.3 其他读/写文本文件的函数 568
18.6 文件内的位置控制 573
18.7 导入数据 576
18.8 本章小结 577