目录 1
第1章 MATLAB概述 1
1.1 MATLAB 7.0简介 2
1.2 MATLAB 7.0的安装、退出与卸载 3
1.3 MATLAB 7.0的目录结构 8
1.4 MATLAB 7.0的工作环境 9
1.5 MATLAB 7.0的通用命令 16
1.6 使用MATLAB 7.0帮助系统 19
1.7 初识MATLAB 22
2.1.1 数值类型 24
2.1 数据类型 24
第2章 MATLAB基础知识 24
2.1.2 逻辑类型 26
2.1.3 字符和字符串 26
2.1.4 函数句柄 26
2.1.5 结构体类型 27
2.1.6 单元数组类型 30
2.2 基本矩阵操作 32
2.2.1 矩阵的构造 33
2.2.2 矩阵大小的改变 35
2.2.3 矩阵下标引用 37
2.2.4 矩阵信息的获取 39
2.2.5 矩阵结构的改变 41
2.2.6 稀疏矩阵 42
2.3 运算符和特殊符号 46
2.3.1 算数运算符 46
2.3.2 关系运算符 48
2.3.3 逻辑运算符 49
2.3.4 运算优先级 50
2.4 字符串处理函数 51
2.4.1 字符串的构造 51
2.4.2 字符串比较函数 53
2.4.3 字符串查找和替换函数 54
2.4.4 字符串——数值转换 55
第3章 数学运算 57
3.1 矩阵运算 57
3.1.1 矩阵分析 57
3.1.2 线性方程组 63
3.1.3 矩阵分解 67
3.1.4 矩阵的特征值和特征向量 74
3.1.5 非线性矩阵运算 75
3.2 矩阵元素的数学函数 79
3.2.1 三角函数 79
3.2.3 复数函数 81
3.2.2 指数和对数函数 81
3.2.4 截断和求余函数 83
3.3 特殊数学函数 84
3.3.1 特殊函数 84
3.3.2 数论函数 90
3.3.3 坐标变换函数 91
第4章 MATLAB 7.0基本编程 92
4.1 脚本和函数 92
4.1.1 函数 92
4.1.2 脚本 93
4.1.4 P码文件 95
4.1.3 子函数与私有目录 95
4.2 MATLAB中的变量和语句 96
4.2.1 变量类型 96
4.2.2 M文件的流控制语句 97
4.3 程序的调试(Debug) 104
4.3.1 直接调试法 104
4.3.2 工具调试法 105
4.4 函数的设计和实现 115
4.4.1 建立数学模型 115
4.4.2 编写代码 116
4.4.3 运行程序 122
5.1.1 plot命令 128
第5章 数据可视化 128
5.1 二维绘图 128
5.1.2 fplot命令 131
5.1.3 ezplot命令 133
5.2 三维绘图 134
5.2.1 plot3命令 134
5.2.2 mesh命令 135
5.2.3 surf命令 136
5.2.4 基本三维绘图命令的改进命令 137
5.3 特殊图形 139
5.3.1 二维特殊图形函数 139
5.3.2 特殊的三维图形函数 145
5.3.3 特殊坐标轴的图形函数 147
5.3.4 四维表现图 152
5.4 图形处理 153
5.4.1 图形标注 153
5.4.2 坐标轴的控制 158
5.4.3 图形数据取点 161
5.4.4 子图和图形保持 162
5.4.5 色彩控制 164
5.4.6 视角与光照 168
5.5.1 图形窗口的创建与控制 175
5.5 图形窗口 175
5.4.7 图形的打印和输出 175
5.5.2 图形窗口的菜单操作 176
5.5.3 图形窗口的工具栏 184
第6章 数据分析 186
6.1 多项式函数 186
6.1.1 多项式表示法 186
6.1.2 多项式求值 190
6.1.3 多项式乘法和多项式除法 191
6.1.4 多项式的导数和微分 192
6.1.5 多项式的根和由根创建多项式 194
6.1.6 多项式部分分式展开 195
6.1.7 多项式曲线拟合 196
6.1.8 曲线拟合图形用户接口 197
6.2 插值 199
6.2.1 一维插值 199
6.2.2 二维插值 203
6.3 数据分析和傅立叶变换 206
6.3.1 基本数据分析函数 206
6.3.2 协方差和相关系数矩阵 211
6.3.3 有限差分和梯度 213
6.3.4 信号滤波和卷积 214
6.3.5 傅立叶变换 218
6.4.1 函数的表示 223
6.4 功能函数 223
6.4.2 函数画图 224
6.4.3 函数最小值和零点 225
6.4.4 数值积分 230
6.4.5 在功能函数中使用含参函数 233
6.5 微分方程组数值解 235
6.5.1 常微分方程组的初值问题 235
6.5.2 延迟微分方程组数值解 242
6.5.3 常微分方程组的边界问题 244
第7章 Simulink仿真环境 248
7.1 Simulink概述 248
7.1.2 Simulink的工作环境 250
7.1.1 Simulink的概念 250
7.1.3 Simulink的工作原理 255
7.1.4 Simulink模型的特点 256
7.1.5 Simulink里的数据类型 257
7.1.6 Simulink里的模块和模块库 262
7.2 模型的创建 267
7.2.1 Simulink模块的基本操作 267
7.2.2 创建模型的基本步骤 271
7.2.3 模型文件格式 272
7.3.1 创建子系统 273
7.3 子系统及其封装 273
7.3.2 封装子系统 275
7.3.3 定义自己的模块库 278
7.4 过零检测 279
7.5 代数环 280
7.6 回调函数 282
7.7 运行仿真 284
7.7.1 使用窗口运行仿真 284
7.7.2 仿真参数的设置 285
7.7.3 使用MATLAB命令运行仿真 289
7.7.4 改善仿真性能及精度 290
7.8.1 观看输出结果 291
7.8 仿真结果分析 291
7.8.2 线性化 292
7.8.3 平衡点的分析 293
7.9 模型的调试 294
7.9.1 Simulink调试器 294
7.9.2 命令行调试 296
7.9.3 设置断点 296
7.9.4 显示仿真的有关信息 297
7.9.5 显示模型的信息 299
7.10 S-函数 299
7.10.3 S-函数如何工作 300
7.10.1 什么是S-函数 300
7.10.2 为何要用S-函数 300
7.10.4 怎样书写S-函数 302
7.10.5 S-函数应用示例 304
7.11 综合实例——PLL中的非线性电荷泵和滤波器 307
第8章 MATLAB 7.0符号计算功能 313
8.1 符号运算入门 313
8.1.1 求解一元二次方程x2+2x+2=0的根 313
8.1.2 求导数?(cos2x) 314
8.1.3 计算定积分?x2dx 314
8.2.1 创建符号对象和表达式 315
8.1.4 求解一阶微分方程?=ay 315
8.2 符号对象的创建和使用 315
8.2.2 符号对象的基本运算 318
8.3 任意精度数学计算 319
8.4 符号表达式的化简和替换 321
8.4.1 符号表达式的化简 321
8.4.2 符号表达式的替换 325
8.5 符号矩阵的计算 328
8.5.1 基本代数运算 328
8.5.2 线性代数运算 328
8.5.3 特征值分解 330
8.5.4 约当标准型 331
8.5.5 奇异值分解 331
8.6 符号微积分 332
8.6.1 符号表达式的微分运算 333
8.6.2 符号表达式的极限 334
8.6.3 符号表达式的积分 335
8.6.4 级数的求和 336
8.6.5 泰勒级数 336
8.7 符号积分变换 337
8.7.2 Laplace变换 338
8.7.1 Fourier变换 338
8.7.3 Z变换 339
8.8 符号方程求解 341
8.8.1 代数方程的求解 341
8.8.2 微分方程的求解 342
8.9 可视化数学分析界面 343
8.9.1 图示化符号函数计算器 343
8.9.2 泰勒级数逼近分析器 345
8.10 Maple接口 345
8.10.1 利用sym函数调用Maple函数 345
8.10.2 利用maple函数调用Maple函数 346
9.1.1 打开文件 347
9.1 打开和关闭文件 347
第9章 文件I/O 347
9.1.2 关闭文件 348
9.2 读取二进制文件 349
9.3 写入二进制文件 351
9.4 读取文本文件 351
9.5 写入文本文件 354
9.6 文件内的位置控制 355
第10章 信号处理工具箱 358
10.1 数字信号处理基本理论 358
10.1.1 离散信号与系统 358
10.1.2 Z变换 360
10.1.3 离散傅立叶变换 361
10.1.4 数字滤波器结构 363
10.2 MATLAB 7.0的信号处理工具箱函数 368
10.2.1 波形产生(Waveform Generation) 368
10.2.2 滤波器分析(Filter Analysis) 368
10.2.3 滤波器实现(Filter Implementation) 369
10.2.4 线性系统变换(Linear System Transformations) 369
10.2.5 FIR滤波器设计(FIR Digital Filter Design) 370
10.2.6 IIR滤波器设计(IIR Digital Filter Design) 370
10.2.7 IIR滤波器阶的选择(IIR Filter Order Estimation) 370
10.2.9 统计信号处理和谱分析(Statistical Signal Processing and Spectral Analysis) 371
10.2.8 变换(Transforms) 371
10.2.11 参数化建模(Parametric Modeling) 372
10.2.10 窗函数(Windows) 372
10.2.12 特殊操作(Specialized Operations) 373
10.2.13 模拟低通滤波器原型(Analog Lowpass Filter Prototypes) 373
10.2.14 模拟滤波器设计(Analog Filter Design) 373
10.2.15 模拟滤波器转换(Analog Filter Transformation) 374
10.2.16 滤波器离散化(Filter Discretization) 374
10.2.17 对数倒谱分析(Cepstral Analysis) 374
10.2.18 线性预测(Linear Prediction) 374
10.3 基于MATLAB的信号处理系统分析与设计 375
10.3.1 离散信号与系统的MATLAB实现 375
10.2.20 图形用户接口(Graphical User Interfaces) 375
10.2.19 多速信号处理(Multirate Signal Processing) 375
10.3.2 离散傅立叶变换的MATLAB实现 378
10.3.3 Z变换的MATLAB实现 380
10.3.4 FIR滤波器的MATLAB实现 383
10.3.5 IIR滤波器的MATLAB实现 386
第11章 图像处理工具箱 391
11.1 图像处理工具箱介绍 391
11.1.1 常用图像格式 391
11.1.2 MATLAB 7.0图像类型 393
11.1.3 MATLAB 7.0图像类型转换 396
11.2 图像的显示 398
11.2.1 标准图像显示技术 398
11.2.2 特殊图像显示技术 400
11.3 图像的几何运算 403
11.3.1 图像插值 403
11.3.2 图像大小调整 404
11.3.3 图像旋转 405
11.3.4 图像剪裁 406
11.4 图像的变换技术 407
11.4.1 数字图像的二维傅立叶变换 408
11.4.2 数字图像的离散余弦变换 412
11.4.3 其他变换技术 417
11.5 图像分析 418
11.5.1 像素值及其统计 419
11.5.2 图像分析 422
11.5.3 图像调整 425
11.5.4 图像平滑 428
11.6 特殊区域处理 431
11.6.1 区域的指定 431
11.6.2 特定区域滤波 432
11.6.3 特定区域填充 433
12.1.1 图形对象、图像句柄和句柄图形树结构 435
第12章 高级图形设计 435
12.1 句柄图形 435
12.1.2 图形对象种类 436
12.1.3 图形对象属性概念 438
12.2 图形对象的操作 439
12.2.1 创建图形对象 439
12.2.2 图形对象属性设置 441
12.2.3 属性值查询 442
12.2.4 设置用户属性默认值 444
12.3 句柄使用方法 448
12.3.1 访问对象句柄 448
12.3.2 使用句柄操作图形对象 450
12.3.3 控制图形输出 452
12.3.4 在M文件中保存句柄 456
12.4 GUI设计向导 458
12.4.1 图形用户界面概述 458
12.4.2 启动GUIDE 459
12.4.3 GUIDE提供的用户控件 460
12.4.4 界面设计工具集 461
12.4.5 GUI组态 467
12.4.6 GUI界面设计 470
12.5.1 M文件以及GUI数据管理 472
12.5 编程设计GUI 472
12.5.2 回调函数的使用方法 474
12.5.3 图形窗口的行为控制 476
12.6 图形用户界面设计实例 477
12.6.1 图形界面的实现 477
12.6.2 行为控制的实现 478
第13章 MATLAB 7.0与Word、Excel的混合使用 487
13.1 Notebook的安装和使用环境 487
13.2 一个Notebook实例 488
13.3 Notebook使用的几个问题 490
13.4.1 Excel link的安装 491
13.4 Excel link的安装和使用环境 491
13.4.2 设置Excel link的启动方式 493
13.4.3 终止Excel link的运行 494
13.5 一个Excel link实例 495
13.5.1 数据表执行方式 495
13.5.2 宏命令执行模式(Macro Version) 496
13.6 Excel link使用的几个问题 498
13.6.1 关于语法 499
13.6.2 关于工作表 499
14.2.1 配置MATLAB 7.0编译器的前提准备 500
14.2 编译器的安装和配置 500
14.1 编译器概述 500
第14章 编译工具箱 500
14.2.2 对编译器进行配置 501
14.3 MATLAB 7.0编译器的使用 503
14.3.1 编译过程 503
14.3.2 MCR的安装 503
14.3.3 编译指令mcc 504
14.3.4 创建独立的应用程序 505
第15章 应用程序接口 511
15.1 创建C语言MEX文件 511
15.1.1 MEX文件简介 511
15.1.2 编写C MEX文件 512
15.2 创建Fortran语言MEX文件 514
15.2.1 Fortran语言MEX文件简介 514
15.2.2 Fortran MEX文件示例 515
15.3 MAT文件应用 516
15.4 MATLAB引擎技术的应用 519
15.5 MATLAB的Java接口 522
15.5.1 Java接口应用 522
15.5.2 应用示例 524
15.6 MATLAB中的DDE技术 525
15.6.1 关于DDE的一般性说明 525
15.6.3 DDE中的MATLAB客户 526
15.6.2 DDE中的MATLAB服务器 526
15.7 MATLAB中的ActiveX技术 529
15.7.1 关于ActiveX的一般性说明 529
15.7.2 MATLAB的ActiveX自动化 529
附录 532
A.1 常用命令和函数 532
A.2 SIMULINK的库模块 543
A.2.1 库模块 543
A.2.2 连续模块子库Continuous 543
A.2.6 非线性模块子库Nonlinear 544
A.2.5 一般数学函数子库Math 544
A.2.4 解析函数和查表函数模块子库Functions Tables 544
A.2.3 离散模块子库Discrete 544
A.2.7 信号和系统模块子库Signal Systems 545
A.2.8 信宿模块子库Sinks 545
A.2.9 信源模块子库Sources 545
A.3 应用程序接口函数库 546
A.3.1 外部程序接口函数库 546
A.3.2 MAT文件库函数 546
A.3.3 MATLAB引擎函数库 547
A.3.4 ActiveX对象的构造和操作命令 547
A.3.5 动态数据交换函数 547