第1章 MATLAB初步介绍 1
1.1 MATLAB概述 1
1.1.1 MATLAB发展史 2
1.1.2 MATLAB基本功能 3
1.1.3 MATLAB R2007新功能 4
1.2 MATLAB R2007的安装与启动 5
1.2.1 MATLAB的安装 5
1.2.2 MATLAB的启动 7
1.3 MATLAB R2007的集成开发环境 8
1.3.1 MATLAB开发环境配置 8
1.3.2 命令窗口(Command Window) 8
1.3.3 历史指令窗口(Command History Window) 11
1.3.4 当前目录浏览器(Current Directory Browser) 13
1.3.5 工作空间浏览器(Workspace Browser) 15
1.3.6 数组编辑器(Array Editor) 16
1.3.7 M文件编辑器/调试器(Editor/Debugger) 18
1.4 MATLAB R2007的语言基础 20
1.4.1 数据类型 20
1.4.2 简易编程入门 25
1.5 MATLAB R2007帮助系统 29
1.5.1 帮助导航/浏览器简介 29
1.5.2 几种帮助方式 30
1.5.3 Demo演示 32
第2章 MATLAB数值计算 33
2.1 数组和数组函数 33
2.1.1 数组的建立和操作 33
2.1.2 MATLAB的数组运算 39
2.1.3 MATLAB的数组函数 41
2.2 矩阵和矩阵函数 42
2.2.1 矩阵的创建和操作 42
2.2.2 MATLAB的矩阵运算 49
2.2.3 MATLAB的矩阵函数 53
2.2.4 稀疏矩阵及其运算 58
2.3 关系和逻辑运算 63
2.3.1 关系操作符与逻辑操作符 63
2.3.2 关系函数和逻辑函数 65
2.3.3 NaN和空矩阵 65
2.4 多项式 68
2.4.1 多项式的表达和创建 68
2.4.2 多项式的运算 69
2.4.3 多项式拟合和插值 72
2.4.4 多项式展开 73
2.5 数据分析 74
2.5.1 基本运算 74
2.5.2 有限差分 75
2.5.3 协方差矩阵和相关阵 77
2.5.4 傅里叶变换 77
2.6 方程及方程组的解法 79
2.6.1 线性方程及方程组的解法 79
2.6.2 非线性方程及方程组的解法 86
2.6.3 常微分方程的数值解法 95
第3章 MATLAB符号计算 101
3.1 符号表达式 101
3.2 符号表达式的基本运算 103
3.2.1 提取分子和分母 104
3.2.2 标准代数运算 105
3.2.3 复合符号函数运算 105
3.2.4 数值转换 107
3.2.5 变量替换 108
3.2.6 化简与格式化 108
3.3 符号精度的控制 110
3.4 符号矩阵与代数运算 111
3.4.1 符号矩阵 111
3.4.2 代数运算 112
3.5 符号微积分 113
3.5.1 符号微分 113
3.5.2 符号积分 114
3.6 符号数据域变换 115
3.6.1 Fourier变换及其反变换 116
3.6.2 Laplace变换及其反变换 117
3.6.3 Z变换及其反变换 118
3.7 方程求解 119
3.7.1 求解代数方程 119
3.7.2 微分方程 121
3.8 Maple函数 124
第4章 MATLAB程序设计初步 131
4.1 M文件简介 131
4.1.1 编辑程序 131
4.1.2 M文件的分类 132
4.1.3 M文件的基本结构 132
4.2 脚本文件和函数文件 133
4.2.1 M脚本文件 133
4.2.2 M函数文件 134
4.2.3 局部变量和全局变量 141
4.3 MATLAB控制流 142
4.3.1 for、while循环结构 143
4.3.2 if、switch条件分支结构 145
4.3.3 try-catch结构 147
4.3.4 控制程序流的其他常用指令 148
4.4 函数调用和变量传递 150
4.4.1 函数调用 150
4.4.2 参数传递 151
4.5 M文件调试 153
4.5.1 一般调试方法 153
4.5.2 使用命令行方式进行调试 154
4.5.3 使用图形方式进行调试 155
4.6 文件I/O函数 161
4.6.1 低级文件I/O函数 161
4.6.2 MATLAB新增输入/输出功能介绍 161
第5章 MATLAB图形和3D可视化 165
5.1 MATLAB R2007图形窗口 165
5.2 二维曲线图形 168
5.2.1 plot命令的调用 169
5.2.2 线型、顶点标记和颜色 170
5.2.3 分格线控制和图形标注 171
5.2.4 特殊二维图形 174
5.3 三维曲线图形 180
5.3.1 plot3命令的调用 180
5.3.2 线、面填色 181
5.3.3 网格图与曲面图 182
5.3.4 等高线图形 187
5.3.5 视角改变和曲面裁剪 188
5.4 高维可视化 190
5.5 色彩处理 191
5.5.1 颜色映像原理 192
5.5.2 颜色映像的应用 193
5.5.3 图像显示技术 197
5.6 光源位置和材质处理 200
5.6.1 光源设置 200
5.6.2 材质处理 200
5.7 句柄图形 202
5.7.1 句柄图形的结构层次 202
5.7.2 访问对象句柄 203
5.8 动画制作 208
5.8.1 影片动画制作 208
5.8.2 实时动画制作 209
第6章 图形用户界面设计 211
6.1 GUIDE开发环境初步介绍 211
6.2 GUI的设计原则和一般步骤 216
6.3 界面菜单 218
6.3.1 菜单创建 218
6.3.2 菜单属性 221
6.4 用户控件 223
6.4.1 控件对象的创建 224
6.4.2 用户控件类型 225
6.4.3 编写程序建立控件 225
6.4.4 对话框的使用 231
6.5 鼠标操作 231
6.5.1 鼠标操作的处理 231
6.5.2 对象选择规则 233
6.5.3 鼠标操作实例 234
6.6 中断回调规则 235
6.7 GUI界面设计实例 236
第7章 Simulink入门 239
7.1 Simulink简介 239
7.1.1 Simulink概述 239
7.1.2 Simulink的运行 240
7.1.3 Simulink窗口介绍 241
7.1.4 使用Simulink的步骤 243
7.2 Simulink的常用基本模块 243
7.3 模块操作 249
7.3.1 Simulink模型概念 250
7.3.2 Simulink模块基本操作 250
7.4 模块连接 253
7.4.1 产生和删除连线 253
7.4.2 信号线的标识(Label) 256
7.4.3 模块的标识 258
7.5 仿真配置 258
7.5.1 解算器(Solver)的设置 259
7.5.2 仿真数据输入、输出设置 260
7.5.3 诊断参数设置 263
7.5.4 实时工作间设置 263
7.5.5 用命令进行仿真 264
7.5.6 模型的保存和打印 267
7.6 模型中的子系统 269
7.6.1 子系统的建立 269
7.6.2 子系统的封装 273
7.7 定制函数库和S-函数 280
7.7.1 定制函数库 280
7.7.2 定制模块间的Link关系 281
7.7.3 S-Function 281
7.8 离散时间系统和混合系统 282
7.8.1 若干个子模块 282
7.8.2 多速率离散时间系统 283
7.9 Simulink技巧及其仿真实例 284
7.9.1 建模技巧 284
7.9.2 提高仿真的效率和精度 285
7.9.3 仿真实例 286
第8章 MATLAB工具箱 293
8.1 工具箱概述 293
8.2 优化工具箱简介 307
8.2.1 优化工具箱应用简介 308
8.2.2 优化工具箱函数 308
8.3 图像处理工具箱简介 315
8.3.1 图像文件的读写 315
8.3.2 图像文件的显示 316
8.3.3 图像文件的运算 320
8.4 信号处理工具箱简介 330
8.4.1 基本波形产生 331
8.4.2 信号变换 335
第9章 MATLAB外部接口初探 339
9.1 MATLAB外部接口概述 339
9.2 MEX文件 341
9.2.1 MEX文件概述 341
9.2.2 C语言MEX文件的建立 343
9.2.3 Fortran语言MEX文件的建立 359
9.3 计算引擎 368
9.3.1 引擎函数库 369
9.3.2 C语言中MATLAB计算引擎的调用 369
9.3.3 Fortran语言中MATLAB计算引擎的调用 373
9.4 Visual C++与MATLAB接口 376
9.4.1 转换数据类型 376
9.4.2 利用MATLAB引擎 377
9.4.3 利用MATLAB自身的编译器调用工具箱中的函数 379
9.4.4 利用Matcom调用工具箱中的函数 381
9.4.5 M文件在Visual C++ 6.0中的编译和执行 382
9.5 Delphi与MATLAB接口 384
9.5.1 动态链接库的设计 385
9.5.2 函数在Delphi中的运用 387
9.6 Visual Basic与MATLAB接口 388
9.6.1 ActiveX自动化 388
9.6.2 应用举例 391
9.7 在.NET中应用MATLAB算法 392
第10章 MATLAB的应用实例 395
10.1 文字处理中的Notebook应用 395
10.1.1 Notebook的安装和启动 395
10.1.2 Notebook的安装 396
10.1.3 Notebook的启动 397
10.1.4 M-book的应用 400
10.1.5 M-book模板使用中的若干问题 411
10.2 高等数学中的应用 412
10.2.1 函数曲线的绘制 412
10.2.2 空间解析几何 413
10.2.3 超越函数的实现 415
10.3 普通物理中的应用 417
10.3.1 力学基础 417
10.3.2 热力学 419
10.3.3 恒稳磁场 421
10.4 力学机械中的应用 424
10.4.1 理论力学 424
10.4.2 机械振动 426
10.4.3 材料力学 428
10.5 信号和系统中的应用 430
10.5.1 连续信号和系统 430
10.5.2 离散信号及系统 433
10.5.3 控制理论基础 434
10.6 MATLAB的其他应用 436
10.6.1 模拟盲人下山的迭代寻优算法 436
10.6.2 Galton钉板模型 439
10.6.3 包含无风险证券的投资组合 441