内容简介
《MATLAB从入门到精通(第2版)》以MATLAB7.x软件为基础,系统讲解了MATLAB基本环境和操作方法;分章阐述了矩阵计算、数值计算、符号计算、数据可视化、数据分析、M文件编写、Simulink仿真、句柄图形、图形用户界面、文件读写、MATLAB编译器、应用程序接口等内容;结合相关的函数或命令,精心编写了一些具体的示例,充分说明了具体函数和命令的使用方法。
《MATLAB从入门到精通(第2版)》内容充实、结构紧凑,既可作为高校学生系统学习MATLAB的书籍,也可以作为广大科研和工程技术人员在工作中使用MATLAB的参考书。
目录
- 第1章 MATLAB 7.x概述 1
- 1.1 MATLAB简介 1
- 1.1.1 MATLAB的发展 1
- 1.1.2 MATLAB的主要特点 2
- 1.2 MATLAB 7.x的安装 3
- 1.3 MATLAB 7.x的运行环境 7
- 1.3.1 MATLAB 7.x的启动 7
- 1.3.2 MATLAB 7.x的工作环境 8
- 1.3.3 命令窗口(Command Window) 9
- 1.3.4 历史命令(History Command)窗口 11
- 1.3.5 目录和文件管理 14
- 1.3.6 搜索路径管理 17
- 1.3.7 工作空间和数组编辑器 18
- 1.3.8 工作空间数据的保存 20
- 1.4 MATLAB 7.x的帮助系统 22
- 1.4.1 命令行帮助查询 22
- 1.4.2 演示帮助查看 24
- 1.4.3 内容帮助浏览 25
- 1.4.4 索引方式查询帮助文件 26
- 1.4.5 查询帮助文件 26
- 1.5 本章小结 27
- 第2章 MATLAB基础知识 28
- 2.1 MATLAB计算的介绍 28
- 2.1.1 简单的计算示例 28
- 2.1.2 基本的数学运算符号 30
- 2.1.3 命令行中的常用标点 31
- 2.1.4 命令窗口中的常用操作和编辑命令 31
- 2.1.5 命令窗口的显示 33
- 2.2 数值、变量和表达式 35
- 2.3 数值数据类型 36
- 2.3.1 整数 36
- 2.3.2 浮点数 39
- 2.3.3 整型浮点数间的操作函数 40
- 2.3.4 复数 41
- 2.3.5 常见的数学函数 43
- 2.4 数组 45
- 2.4.1 一维数组的创建 46
- 2.4.2 多维数组的创建 48
- 2.4.3 数组的运算 51
- 2.4.4 常用的标准数组 53
- 2.4.5 低维数组的寻址和搜索 54
- 2.4.6 低维数组的处理函数 58
- 2.4.7 高维数组的处理和运算 61
- 2.5 单元数组和结构体 63
- 2.5.1 单元数组的创建和操作 63
- 2.5.2 单元数组函数 66
- 2.5.3 结构体创建 68
- 2.5.4 结构体函数 69
- 2.6 字符串 71
- 2.6.1 字符串创建和简单操作 71
- 2.6.2 正则表达式搜索字符串 74
- 2.7 关系和逻辑运算 76
- 2.7.1 关系运算符 76
- 2.7.2 逻辑运算符 77
- 2.7.3 关系和逻辑函数 78
- 2.8 本章小结 80
- 第3章 矩阵运算 81
- 3.1 矩阵函数和特殊矩阵 81
- 3.1.1 常见的矩阵处理函数 81
- 3.1.2 特殊矩阵 83
- 3.1.3 稀疏矩阵 83
- 3.2 矩阵分析 86
- 3.2.1 范数分析 87
- 3.2.2 条件数分析 89
- 3.2.3 矩阵的行列式 90
- 3.3 线性方程组 92
- 3.3.1 恰定方程组 92
- 3.3.2 欠定方程组 94
- 3.3.3 超定方程组 95
- 3.4 矩阵分解 96
- 3.4.1 Cholesky分解 97
- 3.4.2 不完全Cholesky分解 98
- 3.4.3 LU分解 100
- 3.4.4 不完全LU分解 101
- 3.4.5 QR分解 103
- 3.4.6 奇异值分解 106
- 3.5 特征值分析 108
- 3.5.1 特征值和特征向量 109
- 3.5.2 稀疏矩阵的特征值和特征向量 111
- 3.5.3 特征值的条件数 112
- 3.5.4 特征值的复数问题 113
- 3.6 本章小结 114
- 第4章 MATLAB 7.x编程基础 115
- 4.1 M文件编辑器 115
- 4.1.1 打开M文件编辑器 115
- 4.1.2 M文件编辑器的设置 117
- 4.1.3 M文件编辑器的打印属性设置 117
- 4.2 M脚本文件的编写 118
- 4.3 流程控制 120
- 4.3.1 for循环结构 120
- 4.3.2 while循环结构 121
- 4.3.3 if判断结构 122
- 4.3.4 switch分支选择结构 123
- 4.3.5 try-catch结构 124
- 4.4 控制命令 126
- 4.4.1 continue命令 126
- 4.4.2 break命令 126
- 4.4.3 return命令 127
- 4.4.4 input命令 128
- 4.4.5 keyboard命令 128
- 4.4.6 error和warning命令 129
- 4.5 程序的向量化概念 129
- 4.5.1 程序的向量化 130
- 4.5.2 向量化和循环结构的对比 131
- 4.5.3 逻辑数组和向量化 132
- 4.6 M函数文件 134
- 4.6.1 函数文件的创建 134
- 4.6.2 伪码文件 135
- 4.6.3 输入输出参数 136
- 4.6.4 任意个数输入输出参数 137
- 4.6.5 函数句柄和匿名函数 140
- 4.7 程序的调试和剖析 143
- 4.7.1 程序调试的常见错误 143
- 4.7.2 直接调试方法 143
- 4.7.3 通过工具调试 144
- 4.7.4 M文件剖析 146
- 4.8 本章小结 149
- 第5章 数据可视化 150
- 5.1 图形绘制示例 150
- 5.2 二维图形绘制 152
- 5.2.1 plot函数 152
- 5.2.2 线型、标记和颜色 155
- 5.2.3 图形坐标轴设置 156
- 5.2.4 多个图形叠绘及多个图形窗口 159
- 5.2.5 子图绘制 161
- 5.2.6 交互式绘图和屏幕刷新 162
- 5.2.7 plotyy函数绘制双坐标轴 164
- 5.2.8 easy绘图命令 166
- 5.3 三维图形绘制 168
- 5.3.1 曲线图绘制 168
- 5.3.2 网格图绘制 169
- 5.3.3 曲面图的绘制 172
- 5.3.4 绘制等值线图 175
- 5.4 四维图形可视化 177
- 5.4.1 slice切片命令 177
- 5.4.2 其他slice函数 178
- 5.4.3 等值面图绘制 179
- 5.5 复数变量图形绘制 182
- 5.6 特殊图形绘制 183
- 5.6.1 area区域绘图 184
- 5.6.2 pie饼图绘制 185
- 5.6.3 直方图和梯形图 185
- 5.6.4 矢量分布图绘制 187
- 5.6.5 误差线图形绘制 188
- 5.6.6 离散数据绘制 189
- 5.6.7 伪色彩图绘制 190
- 5.6.8 极坐标图形绘制 191
- 5.7 图形的打印输出 192
- 5.8 本章小结 194
- 第6章 数据分析 195
- 6.1 数据插值 195
- 6.1.1 一维插值 195
- 6.1.2 二维插值 199
- 6.1.3 样条插值 201
- 6.2 曲线拟合 203
- 6.3 图形界面曲线拟合 204
- 6.3.1 曲线拟合示例 204
- 6.3.2 拟合残差图形绘制 205
- 6.3.3 数据预测 207
- 6.4 傅里叶分析 208
- 6.4.1 离散傅里叶变换 208
- 6.4.2 傅里叶变换相关的常用函数 211
- 6.4.3 傅里叶级数 212
- 6.4.4 使用FFT进行插值 215
- 6.5 优化问题 217
- 6.5.1 非线性无约束优化 217
- 6.5.2 约束条件下的非线性优化 220
- 6.5.3 最小*值的优化问题 221
- 6.5.4 线性规划求解 223
- 6.6 常微分方程 224
- 6.6.1 常微分方程介绍 224
- 6.6.2 常微分方程求解 225
- 6.6.3 加权常微分方程 229
- 6.6.4 延迟微分方程 231
- 6.6.5 常微分方程的边界问题 232
- 6.7 函数的零点问题 234
- 6.7.1 一元函数的零点 234
- 6.7.2 多元函数的零点 235
- 6.8 数值积分 236
- 6.8.1 一元函数的数值积分 237
- 6.8.2 多重数值积分 238
- 6.9 概率论和数理统计 239
- 6.9.1 概率分布 239
- 6.9.2 数据分布分析 241
- 6.9.3 假设检验 242
- 6.10 本章小结 245
- 第7章 符号计算 246
- 7.1 符号对象和符号表达式 246
- 7.1.1 符号对象的创建命令 246
- 7.1.2 符号对象的创建示例 247
- 7.1.3 符号计算中的运算符和函数 248
- 7.1.4 符号对象的类别识别命令 248
- 7.1.5 符号表达式中的变量确定 249
- 7.1.6 符号精度计算 250
- 7.2 符号表达式的操作 250
- 7.3 符号表达式的替换 252
- 7.4 符号函数的操作 253
- 7.4.1 反函数操作 253
- 7.4.2 复合函数操作 254
- 7.5 符号微积分 255
- 7.5.1 级数求和 255
- 7.5.2 符号极限 255
- 7.5.3 符号微分 256
- 7.5.4 符号积分 258
- 7.6 符号积分变换 259
- 7.6.1 傅里叶变换及其反变换 259
- 7.6.2 拉普拉斯变换及其反变换 260
- 7.6.3 Z变换及其反变换 261
- 7.7 符号代数方程求解 262
- 7.8 符号微分方程求解 263
- 7.9 利用Maple进行符号计算 265
- 7.9.1 Maple函数的使用 265
- 7.9.2 Maple经典函数的调用 266
- 7.9.3 Maple库函数的帮助 268
- 7.10 符号分析可视化 270
- 7.10.1 funtool分析界面 270
- 7.10.2 taylortool分析界面 271
- 7.11 本章小结 272
- 第8章 Simulink仿真系统 273
- 8.1 Simulink基础知识 273
- 8.1.1 Simulink的启动 273
- 8.1.2 Simulink创建仿真示例 274
- 8.1.3 模块库浏览器 278
- 8.1.4 Simulink模型窗口 279
- 8.1.5 模型窗口的菜单栏 280
- 8.2 Simulink模型操作 283
- 8.2.1 Simulink模型的原理 283
- 8.2.2 模块的操作 284
- 8.2.3 信号线的操作 286
- 8.3 Simulink信号 287
- 8.3.1 常见信号 287
- 8.3.2 复数信号 288
- 8.3.3 虚拟信号和信号总线 289
- 8.3.4 创建信号组 291
- 8.3.5 自定义信号源 294
- 8.4 常用的Sink模块 295
- 8.5 Simulink仿真系统的设置 298
- 8.5.1 解算器(Solver)的设置 299
- 8.5.2 仿真数据的输入输出设置 300
- 8.5.3 仿真诊断设置 301
- 8.6 线性连续系统建模 303
- 8.6.1 使用积分模块 303
- 8.6.2 使用积分器求解微分方程 305
- 8.6.3 传递函数进行仿真 306
- 8.6.4 状态空间方法进行系统仿真 308
- 8.7 非线性连续系统建模 309
- 8.7.1 非线性仿真系统建模简介 309
- 8.7.2 任意非线性函数的仿真 312
- 8.8 封装子系统创建和受控执行 315
- 8.8.1 使用模块组合子系统 315
- 8.8.2 通过子系统模块创建子系统 316
- 8.8.3 封装子系统 318
- 8.8.4 使能控制子系统 320
- 8.8.5 触发控制子系统 321
- 8.9 离散时间系统和混合系统 322
- 8.10 命令方式运行Simulink 324
- 8.11 本章小结 325
- 第9章 句柄图形 326
- 9.1 句柄图形体系 326
- 9.1.1 图形对象 326
- 9.1.2 句柄对象 327
- 9.1.3 对象属性 328
- 9.1.4 图形对象句柄创建示例 328
- 9.2 图形对象创建 329
- 9.2.1 创建图形对象 329
- 9.2.2 访问图形对象句柄 331
- 9.2.3 使用句柄操作图形对象 333
- 9.3 图形对象设置 334
- 9.3.1 用set命令设置属性 334
- 9.3.2 图形的默认属性 337
- 9.3.3 句柄图形的通用属性 338
- 9.4 高级绘图对象 339
- 9.4.1 Nextplot属性 339
- 9.4.2 Newplot命令 340
- 9.4.3 高级绘图命令 340
- 9.5 坐标轴对象 341
- 9.5.1 坐标轴的几何属性 342
- 9.5.2 坐标轴的刻度属性 343
- 9.5.3 坐标轴的照相机属性 344
- 9.5.4 坐标轴的尺度、方向属性 346
- 9.6 本章小结 346
- 第10章 图形用户界面 347
- 10.1 图形用户界面介绍 347
- 10.2 图形用户界面控件 349
- 10.2.1 图形用户界面控件的创建 349
- 10.2.2 鼠标动作执行 353
- 10.2.3 事件队列的执行顺序 355
- 10.2.4 回调函数的编写 355
- 10.3 对话框对象 360
- 10.4 界面菜单 364
- 10.5 编写M文件 368
- 10.6 图形界面创建工具GUIDE 370
- 10.6.1 GUIDE的启动 370
- 10.6.2 创建图形用户界面对象 372
- 10.6.3 设置组件的属性 375
- 10.6.4 编写回调函数 377
- 10.6.5 图形用户界面的执行 379
- 10.6.6 GUIDE创建的工具 379
- 10.6.7 创建带UIcontrol控件的图形界面 381
- 10.6.8 创建带菜单和坐标轴的图形界面 384
- 10.7 本章小结 388
- 第11章 文件读取I/O 389
- 11.1 工作空间数据读取 389
- 11.2 数据文件的导入和导出 391
- 11.3 底层文件读取I/O 393
- 11.4 文件名称处理 395
- 11.5 处理二进制文件 397
- 11.5.1 读取M文件 397
- 11.5.2 读取文本文件 399
- 11.5.3 写入文本文件 401
- 11.6 处理文本文件 402
- 11.6.1 使用csvread读取文本文件 402
- 11.6.2 使用dlmread读入数据 403
- 11.6.3 使用textread读入文件 405
- 11.6.4 使用textscan读入数据 407
- 11.6.5 使用csvwrite输出文本数据 408
- 11.6.6 使用dlmwrite输出数据 409
- 11.7 图像文件读入和输出 410
- 11.7.1 图像文件读入 410
- 11.7.2 图像文件输出 412
- 11.8 本章小结 413
- 第12章 MATLAB 7.x的编译器 414
- 12.1 编译器概述 414
- 12.2 编译器的安装和配置 415
- 12.2.1 安装前提 415
- 12.2.2 编译器的安装 415
- 12.2.3 配置编译器 415
- 12.3 编译过程 420
- 12.3.1 安装MCR 421
- 12.3.2 MCR编译过程 422
- 12.4 编译命令 423
- 12.5 编译生成独立运行程序 425
- 12.5.1 编译M文件 425
- 12.5.2 M文件和C文件的混合编译 428
- 12.5.3 编译图形绘制M文件 430
- 12.6 调用M文件中的函数接口 434
- 12.7 编译生成共享库函数 438
- 12.8 本章小结 446
- 第13章 应用程序接口 447
- 13.1 C语言MEX文件 447
- 13.1.1 MEX文件的数据 447
- 13.1.2 C-MEX文件的调用 448
- 13.1.3 创建MEX文件 451
- 13.2 FORTRAN语言的MEX文件 454
- 13.2.1 FORTRAN-MEX函数的调用 454
- 13.2.2 MEX函数 456
- 13.3 MAT文件 458
- 13.3.1 MAT函数 458
- 13.3.2 C语言创建MAT文件 459
- 13.3.3 FORTRAN语言创建MAT文件 462
- 13.4 MATLAB的引擎技术 465
- 13.4.1 MATLAB引擎技术简介 466
- 13.4.2 创建使用引擎技术程序 467
- 13.5 Java语言接口 471
- 13.5.1 MATLAB中的Java接口 471
- 13.5.2 Java接口程序应用 477
- 13.6 本章小结 484
- 参考文献 486