第一章 基础准备及入门 1
1.1 MATLAB的安装和内容选择 1
1.2 Desktop操作桌面的启动 3
1.2.1 MATLAB的启动 3
1.2.2 Desktop操作桌面简介 3
1.3 Command Window运行人门 5
1.3.1 Command Window指令窗简介 5
1.3.2 最简单的计算器使用法 6
1.3.3 数值、变量和表达式 7
1.3.4 计算结果的图形表示 11
1.4 Command Window操作要旨 13
1.4.1 指令窗显示方式的操作 13
1.4.2 数值计算结果的显示格式 13
1.4.3 指令行中的标点符号 14
1.4.4 指令窗的常用控制指令 15
1.4.5 指令窗中指令行的编辑 15
1.5 Command History和实录指令diary 16
1.5.1 Command History历史指令窗简介 16
1.5.2 历史指令行的再运行 17
1.5.3 指令窗实录指令diary 18
1.6 Current Directory、路径设置器和文件管理 18
1.6.1 Current Directory当前目录浏览器简介 19
1.6.2 MATLAB的搜索路径 21
1.6.3 MATLAB搜索路径的扩展和修改 21
1.7 Workspace Browser和Array Editor 22
1.7.1 Workspace Browser工作空间浏览器简介 22
1.7.2 现场菜单用于内存变量的查阅和删除 23
1.7.3 Array Editor数组编辑器和大数组的输入 26
1.7.4 数据文件的存取 26
1.8 Launch Pad交互界面分类目录窗 28
1.9 Editor/Debugger和脚本编写初步 29
1.9.1 Editor/Debugger M文件编辑调试器简介 29
1.9.2 M脚本文件编写初步 30
1.10 帮助系统 31
1.10.1 帮助方式概述 32
1.10.2 Help Navigator/Browser帮助导航/浏览器简介 34
第二章 数值数组及其运算 38
2.1 引导 38
2.2 一维数组的创建和寻访 39
2.2.1 一维数组的创建 39
2.2.2 一维数组子数组的寻访和赋值 40
2.3 二维数组的创建 41
2.3.1 直接输入法 41
2.3.2 利用M文件创建和保存数组 42
2.4 二维数组元素的标识 42
2.4.1 “全下标”标识 43
2.4.2 “单下标”标识 43
2.4.3 “逻辑1”标识 43
2.5 二维数组的子数组寻访和赋值 44
2.6 执行数组运算的常用函数 46
2.6.1 函数数组运算规则的定义 46
2.6.2 执行数组运算的常用函数 46
2.7 数组运算和矩阵运算 47
2.8 多项式的表达方式及其操作 49
2.8.1 多项式的表达和创建 49
2.8.2 多项式运算函数 50
2.9 标准数组生成函数和数组操作函数 52
2.9.1 标准数组生成函数 52
2.9.2 数组操作函数 53
2.10 数组构作技法综合 55
2.11 高维数组 58
2.11.1 高维数组的创建 59
2.11.2 高维数组的标识 61
2.11.3 高维数组构作和操作函数汇总 62
2.12 “非数”和“空”数组 66
2.12.1 非数NaN 66
2.12.2 “空”数组 68
2.13 关系操作和逻辑操作 70
2.13.1 关系操作 70
2.13.2 逻辑操作 71
2.13.3 表达式中各种运算符的优先级 74
2.13.4 关系、逻辑函数 75
第三章 字符串、元胞和构架数组 76
3.1 字符串数组 76
3.1.1 字符串入门 76
3.1.2 串数组的属性和标识 77
3.1.3 复杂串数组的创建 79
3.1.4 串转换函数 82
3.1.5 串操作函数 83
3.2 元胞数组 84
3.2.1 元胞数组的创建和显示 84
3.2.2 元胞数组的扩充、收缩和重组 85
3.2.3 元胞数组内容的调取 87
3.2.4 元胞数组转换函数 88
3.3 构架数组 89
3.3.1 构架数组的创建和显示 90
3.3.2 构架数组域中内容的调取和设置 92
3.3.3 构架数组操作深入应用 94
3.3.4 构架数组和元胞数组之间的转换 97
3.4 关于数据类型的归纳性说明 100
第四章 数值计算 102
4.1 引言 102
4.2 LU分解和恰定方程组的解 103
4.2.1 LU分解、行列式和逆 103
4.2.2 恰定方程组的解 104
4.2.3 范数、条件数和方程解的精度 105
4.3 矩阵特征值和矩阵函数 107
4.3.1 特征值和特征向量的求取 107
4.3.2 特征值问题的条件数 109
4.3.3 复数特征值对角阵与实数块特征值对角阵的转化 111
4.3.4 矩阵的谱分解和矩阵函数 112
4.4 奇异值分解 113
4.4.1 奇异值分解和矩阵结构 113
4.4.2 线性二乘问题的解 115
4.5 函数的数值导数和切平面 116
4.5.1 法线 117
4.5.2 偏导数和梯度 117
4.6 函数的零点 119
4.6.1 多项式的根 119
4.6.2 一元函数的零点 120
4.6.3 多元函数的零点 123
4.7 函数极值点 126
4.7.1 一元函数的极小值点 126
4.7.2 多元函数的极小值点 127
4.8 数值积分 129
4.8.1 一元函数的数值积分 129
4.8.2 多重数值积分 134
4.8.3 卷积 136
4.9 随机数据的统计描述 141
4.9.1 统计分布的数字特征 142
4.9.2 样本分布的频数直方图描述 143
4.9.3 概率函数、分布函数、逆分布函数和随机数的发生 144
4.10 多项式拟合和非线性最小二乘 149
4.10.1 多项式拟合 149
4.10.2 非线性最小二乘估计 152
4.11 插值和样条 158
4.11.1 一维插值 158
4.11.2 高维函数的插值 160
4.12 样条函数及其应用 161
4.12.1 样条插值 162
4.12.2 样条函数用于数值积分和微分 164
4.13 Fourier分析 166
4.13.1 快速Fourier变换和逆变换指令 166
4.13.2 连续时间函数的Fourier级数展开 167
4.13.3 利用DFT计算一般连续函数的Fourier变换CFT 173
4.14 常微分方程 176
4.14.1 初值常微分方程的解算指令 177
4.14.2 ODE解算指令的使用演示 179
4.14.3 关于ODE文件的说明 184
4.14.4 关于解算指令选项options的属性设置 187
4.14.5 常微分方程的边值问题解 189
4.15 稀疏矩阵 195
4.15.1 稀疏矩阵的存储方式 195
4.15.2 稀疏矩阵的创建 196
4.15.3 稀疏矩阵的运算 198
第五章 符号计算 200
5.1 符号对象和符号表达式 200
5.1.1 符号对象的生成和使用 200
5.1.2 符号计算中的算符和基本函数 203
5.1.3 识别对象类别的指令 204
5.1.4 符号表达式中自由变量的确定 205
5.2 符号表达式和符号函数的操作 206
5.2.1 符号表达式的操作 206
5.2.2 符号函数的求反和复合 208
5.2.3 置换及其应用 209
5.2.4 符号数值精度控制和任意精度计算 210
5.2.5 符号对象与其他数据对象间的转换 211
5.3 符号微积分 213
5.3.1 符号序列的求和 213
5.3.2 符号微分和jacobian矩阵 213
5.3.3 符号积分 214
5.3.4 符号卷积 216
5.4 符号积分变换 217
5.4.1 Fourier变换及其反变换 217
5.4.2 Laplace变换及其反变换 220
5.4.3 Z变换及其反变换 221
5.5 符号代数方程的求解 222
5.5.1 线性方程组的符号解 222
5.5.2 一般代数方程组的解 223
5.6 符号微分方程的求解 225
5.6.1 符号解法和数值解法的互补作用 225
5.6.2 求微分方程符号解的一般指令 225
5.6.3 微分方程符号解示例 226
5.7 利用MAPIE的深层符号计算资源 227
5.7.1 经典特殊函数的调用 227
5.7.2 MAPLE库函数在线帮助的检索树 228
5.7.3 发挥MAPLE的计算潜力 229
5.8 可视化数学分析界面 232
5.8.1 单变量函数分祈的交互界面 232
5.8.2 泰勒级数逼近分析界面 233
第六章 数据和函数的可视化 234
6.1 引导 234
6.1.1 离散数据和离散函数的可视化 234
6.1.2 连续函数的可视化 235
6.1.3 可视化的一般步骤 236
6.2 二维曲线绘图的基本操作 238
6.2.1 plot的基本调用格式 238
6.2.2 曲线的色彩、线型和数据点形 241
6.2.3 坐标、刻度和分格线控制 244
6.2.4 图形标识 247
6.2.5 多次叠绘、双纵坐标和多子图 250
6.2.6 交互式图形指令 253
6.3 三维绘图的基本操作 255
6.3.1 三维线图指令plot3 255
6.3.2 三维网线图和曲面图 255
6.3.3 透视、镂空和裁切 256
6.4 特殊图形和高维可视化 259
6.4.1 特殊图形指令例示 259
6.4.2 四维表现 269
6.4.3 动态图形 273
6.5 三维图形的精细控制 275
6.5.1 视点控制和图形的旋动 275
6.5.2 色彩控制 276
6.5.3 照明和材质处理 281
6.5.4 透明处理 284
6.6 图像 290
6.6.1 图像的类别和显示 290
6.6.2 图像的读写 291
6.6.3 8位和16位图像 295
6.6.4 捕获图形生成图像文件 296
6.7 图形窗的图形编辑功能 297
6.7.1 图形窗菜单和工具条简介 297
6.7.2 二维图形的交互编辑示例 299
6.8 函数绘图的简捷指令 301
6.8.1 一元函数简捷绘图指令 301
6.8.2 二元函数简捷绘图指令 302
6.9 图形的打印和输出 304
6.9.1 图形打印的菜单操作方式 304
6.9.2 图形输出的指令操作方式 305
6.9.3 PC机Windows打印设备驱动程序 305
6.9.4 MATLAB的内装打印设备驱动程序 307
6.9.5 打印属性选项 309
第七章 M文件和面向对象编程 310
7.1 入门 310
7.2 M文本编辑器 312
7.3 MATLAB控制流 312
7.3.1 for循环结构 313
7.3.2 while循环结构 313
7.3.3 if-else-end分支结构 314
7.3.4 switch-case结构 315
7.3.5 try-catch结构 317
7.3.6 控制程序流的其他常用指令 317
7.4 脚本文件和函数文件 318
7.4.1 M脚本文件 318
7.4.2 M函数文件 319
7.4.3 局部变量和全局变量 319
7.4.4 M文件的一般结构 320
7.4.5 P码文件 321
7.4.6 MATLAB的搜索过程 322
7.5 变量的检测传递和限权使用函数 322
7.5.1 输入输出宗量检测指令 322
7.5.2 “变长度”输人输出宗量 322
7.5.3 跨空间变量传递 325
7.5.4 子函数和私用函数 326
7.6 串演算函数 327
7.6.1 eval 327
7.6.2 feval 328
7.6.3 内联函数 329
7.7 函数句柄 331
7.7.1 函数句柄的创建和观察 331
7.7.2 函数句柄的基本用法 332
7.8 创建用户工具箱 336
7.8.1 MATLAB对工具箱文件的管理特点 337
7.8.2 建立用户工具箱须知 337
7.9 调试和剖析 337
7.9.1 直接调试法 338
7.9.2 调试器的使用 338
7.9.3 MATLAB程序的性能优化 343
7.10 面向对象编程 349
7.10.1 概念综述 349
7.10.2 面向对象编程应用示例 351
7.10.3 重载运算 356
7.10.4 继承性及其应用 357
第八章 SIMULINK交互式仿真集成环境 360
8.1 引导 360
8.1.1 SIMULINK的安装 361
8.1.2 SIMULINK入门 361
8.1.3 SIMULINK库浏览器界面 363
8.1.4 SIMULINK模型窗的组成 364
8.2 模型的创建 366
8.2.1 模型概念和文件操作 366
8.2.2 模块操作 368
8.2.3 信号线操作 371
8.2.4 对模型的注释 373
8.2.5 常用的Sourse库信源 374
8.2.6 常用的Sink库信宿 375
8.2.7 仿真的配置 377
8.3 连续系统建模 381
8.3.1 线性系统 382
8.3.2 非线性系统 386
8.4 子系统的创建、装帧及受控执行 392
8.4.1 简装子系统及其应用 392
8.4.2 精装子系统 394
8.4.3 条件执行子系统 398
8.5 离散时间系统和混合系统 404
8.5.1 若干基本模块 404
8.5.2 多速率离散时间系统 406
8.5.3 离散-连续混合系统 407
8.6 SIMULINK的分析工具 409
8.6.1 确定模型的特征 409
8.6.2 用MATLAB指令运行SIMULINK模型 410
8.6.3 模型的线性化问题 413
8.6.4 系统平衡点的求取 415
8.6.5 综合算例 415
8.7 数值计算方面的考虑 421
8.7.1 微分方程解算器Solver 421
8.7.2 积分步长和容差 424
8.7.3 代数环问题 425
8.8 S函数模块 428
8.8.1 概述 428
8.8.2 SIMULINK的运行机理 428
8.8.3 用M文件表述的s函数 429
第九章 句柄图形 438
9.1 句柄图形体系 438
9.1.1 图形对象、对象句柄和句柄图形树结构 439
9.1.2 对象属性 440
9.2 图形对象的操作 440
9.2.1 图形对象创建指令一览 440
9.2.2 对象句柄的获取方法 441
9.3 对象属性的获取和设置 442
9.3.1 创建对象时设置属性 442
9.3.2 get和set 443
9.3.3 对象属性的缺省设置和查询 443
9.3.4 属性查询和设置示例 443
9.4 为低层指令绘图准备图/轴 445
9.4.1 NextPlot 属性 445
9.4.2 准备图/轴的简捷指令newplot 445
9.4.3 高层绘图文件的形成 446
9.5 图形窗的色彩资源和光标属性 447
9.5.1 色彩资源 447
9.5.2 光标指针 448
9.6 轴对象 449
9.6.1 轴位框的几何属性和多轴位框 449
9.6.2 图形名和坐标轴名的句柄操作 449
9.6.3 轴刻度的属性控制 450
9.6.4 坐标轴尺度、方向、位置属性 450
9.6.5 照相机属性 451
9.7 句柄图形应用专题 452
9.7.1 光标形状的自制 452
9.7.2 任意布置子图和轴外注释 453
9.7.3 制作个性化双坐标系 455
9.7.4 连续变焦和飞驰图形 457
9.7.5 实时动画 459
9.7.6 surface指令衍生不同曲面 461
9.7.7 纹理影射和曲面彩绘 462
9.7.8 三维块建模和着色 463
9.7.9 鼠标拖动字对象 465
第十章 图形用户界面GUI制作 468
10.1 入门 468
10.2 图形用户界面的设计原则和一般步骤 471
10.2.1 设计原则 471
10.2.2 一般制作步骤 472
10.3 界面菜单(uimenu) 472
10.3.1 图形窗的标准菜单 472
10.3.2 自制的用户菜单 473
10.3.3 用户菜单的属性 474
10.3.4 现场菜单的制作 481
10.4 用户控件(uicontrol) 482
10.4.1 控件制作函数 482
10.4.2 用户控件的种类 482
10.4.3 控件制作示例 483
10.5 由M函数文件产生用户菜单和控件 489
10.5.1 利用全局变量编写用户界面函数文件 490
10.5.2 利用 UserData 属性编写用户界面函数文件 490
10.5.3 利用递归法编写用户界面函数文件 491
10.6 图形用户界面设计工具 493
10.6.1 界面设计工具的结构和调用指令 493
10.6.2 交互式用户界面设计工具应用示例 495
第十一章 MATLAB编译器 503
1.1 编译器概述 503
11.1.1 编译器的功能 503
11.1.2 编译器的性能改进 503
11.1.3 编译器的局限性 504
11.1.4 把脚本文件改写为函数文件 504
11.2 编译器的安装和配置 505
11.2.1 配置MATLAB编译器的前提准备 505
11.2.2 为产生MEX文件进行预配置 506
11.2.3 为产生独立外部应用程序进行预配置 508
11.3 MATLAB编译器使用入门 510
11.3.1 由M文件创建C MEX文件的人门算例 510
11.3.2 由M文件创建外部应用程序的入门算例 511
11.4 编译指令mcc简介 513
11.4.1 mcc的基本调用格式 513
11.4.2 mcc的选项标志 514
11.5 编译文件的性能优化 517
11.5.1 优化数组 517
11.5.2 优化循环 518
11.5.3 优化条件语句 519
11.6 创建独立的外部应用程序 520
11.6.1 独立外部程序的工作特点和创建过程 520
11.6.2 关于指令mbuild 521
11.6.3 借助编译指令mcc创建独立应用程序 521
第十二章 应用程序接口API 531
12.1 C语言MEX文件的编写 531
12.1.1 关于MEX文件的一般性说明 531
12.1.2 MEX文件中的MATLAB数据 532
12.1.3 C语言MEX文件源程序的构成 533
12.1.4 MEX文件的执行流程 535
12.1.5 编写C MEX文件的常用库函数和示例 536
12.2 MAT数据文件的应用 543
12.2.1 数据的输入输出方法 543
12.2.2 创建MAT文件的C源码程序的编写 544
12.3 MATLAB引擎技术的应用 548
12.3.1 MATLAB引擎概念和功用 548
12.3.2 引擎库函数及C源码应用程序的编写 549
12.3.3 利用VC++6.0集成环境编写MATLAB引擎程序 554
12.4 MNILAB中ActiveX技术的应用 559
12.4.1 关于ActiveX的一般性说明 559
12.4.2 MATLAB的ActiveX自动化 559
12.5 MATLAB中DDE技术的应用 571
12.5.1 关于DDE的一般性说明 571
12.5.2 DDE中的MATLAB服务器 571
12.5.3 DDE中的MATLAB客户 576
第十三章 Notebook 581
13.1 Notebook的安装 581
13.1.1 MATLAB6.1版Notebook的安装 581
13.1.2 MATLAB6.5版Notebook的安装 582
13.2 Notebook的启动 583
13.2.1 从Word中启动Notebook 583
13.2.2 从MATLAB中启动Notebook 583
13.2.3 Notebook成功启动标志和中文M-book模板的形成 584
13.2.4 启动失败的原因和解决办法 585
13.3 M-book模板的使用 586
13.3.1 输入细胞(群)的创建和运行 586
13.3.2 计算区的创建和运行 589
13.3.3 Notebook菜单的其他选项 590
13.3.4 输出细胞的格式控制 592
13.3.5 细胞的样式 595
13.3.6 使用M-book模板的若干参考技法 595
13.4 科技演讲稿的制作 596
13.4.1 在M-book中实现计算和可视的演讲稿制作 596
13.4.2 直接引出GUI图形用户界面的演讲稿制作 598
13.4.3 具有现场计算和绘图能力的演讲文稿的制作 599
附录A:索引 601
附录B:光盘使用说明 626
参考文献 631