第1章 MATLAB简介 1
1.1 MATLAB产品概述 1
1.2 MATLAB7.x新增功能及改进 3
1.2.1 MATLAB7.x升级内容 4
1.2.2 MATLAB升级及新增的模块 5
1.3 MATLAB语言概述 7
第2章 MATLAB编程 9
2.1 M文本编辑器概述 9
2.2 MATLAB数据类型 9
2.3 MATLAB程序流程控制 17
2.3.1 for循环结构 17
2.3.2 while循环结构 17
2.3.3 if-else-end选择结构 18
2.3.4 switch-case选择结构 19
2.3.5 try-catch结构 20
2.3.6 程序中常用的其他命令 21
2.4 脚本文件和函数文件 22
2.4.1 M脚本文件 22
2.4.2 M函数文件 22
2.4.3 局部变量和全局变量 23
2.4.4 M文件的一般结构 23
2.4.5 MATLAB的搜索过程 24
2.5 表达式演算函数 24
2.5.1 eval 24
2.5.2 feval 25
2.5.3 内联函数 26
2.6 函数句柄 28
2.6.1 函数句柄的创建和观察 28
2.6.2 函数句柄的基本用法 29
2.7 MATLAB面向对象编程 31
2.8 程序的跟踪和调试 34
2.8.1 直接调试法 34
2.8.2 调试器的使用 35
2.8.3 程序性能分析 37
2.9 MATLAB程序优化 41
2.9.1 矢量化操作 41
2.9.2 给数组预定义维数 41
2.9.3 下标或者索引操作 42
2.9.4 尽量多使用函数文件而少使用脚本文件 42
2.9.5 将循环体中的内容转换为C-MEX 42
2.9.6 内存优化 43
2.9.7 程序优化的其他措施 43
第3章 MATLAB与C/C++混合编程技术概述 44
3.1 MATLAB混合编程的优点 44
3.2 MATLAB应用程序接口概述 45
3.3 混合编程技术概述 47
3.3.1 使用MATLAB引擎 47
3.3.2 使用ActiveX控件 47
3.3.3 使用MAT文件共享数据 48
3.3.4 使用C-MEX技术 48
3.3.5 使用MATLAB COMBuilder 48
3.3.6 使用Mideva工具 49
3.3.7 使用MATLAB Add-in 49
3.3.8 使用 MATLAB编译器实现混合编程 49
第4章 在VC环境中使用MATLAB引擎 51
4.1 MATLAB计算引擎的概念和功能 51
4.2 MATLAB计算引擎的使用 52
4.3 在VC6.0及VC.Net环境下调用MATLAB计算引擎 55
4.3.1 VC6.0环境设置及应用实例 55
4.3.2 VC.Net环境设置及应用实例 61
第5章 使用MAT文件实现数据共享 70
5.1 MAT文件概述 70
5.1.1 MATLAB中操作MAT文件 70
5.1.2 MAT文件格式 72
5.2 用C/C++语言操作MAT文件的API函数 73
5.3 VC6.0及VC.Net中操作MAT时的环境设置 79
5.4 使用MAT文件共享数据实例 82
5.4.1 在VC6.0环境下使用MAT文件共享数据实例 82
5.4.2 在VC.Net环境下使用MAT文件共享数据实例 88
第6章 使用C-MEX文件实现混合编程 90
6.1 MEX技术概述 90
6.2 使用X文件的环境配置 91
6.3 MEX文件的结构和执行流程 92
6.3.1 X文件结构 92
6.3.2 X文件的执行流程 96
6.4 常用库函数概述 97
6.5 C-MEX混合编程实例 100
6.5.1 MEX命令的使用 100
6.5.2 VC6.0环境下编译与调试MEX文件 101
6.5.3 VC.Net环境下编译与调试MEX文件 106
第7章 使用COM技术实现混合编程 113
7.1 COM技术概述 113
7.1.1 COM简介 113
7.1.2 COM组件的有关概念 114
7.2 MATLAB Builder for .Net 115
7.2.1 MATLAB Builder for .Net简介 115
7.2.2 MATLAB Builder for .Net用法 116
7.2.3 MATLAB COM编译器产生的COM组件 126
7.3 在VC6.0及VC.Net中使用MATLAB的COM组件 132
7.3.1 在VC6.0中使用MATLAB编译的COM组件 133
7.3.2 在VC.Net中使用MATLAB编译的COM组件 139
第8章 使用MATLAB编译器实现混合编程 143
8.1 MATLAB编译器 143
8.1.1 MATLAB编译器概述 143
8.1.2 MATLAB编译器新特点 144
8.1.3 C/C++代码的生成 145
8.1.4 MATLAB组件运行环境(MCR) 145
8.1.5 MATLAB组件技术文件(CTF) 146
8.1.6 MATLAB编译器选项 146
8.2 MATLAB编译器的安装、设置和使用 147
8.2.1 安装 147
8.2.2 设置 147
8.2.3 使用 149
8.2.4 编译后程序的发布 151
8.3 使用MATLAB编译器实现混合编程 152
8.3.1 使用MATLAB编译器和VC6.0实现混合编程 152
8.3.2 MATLAB图形绘制在MFC界面上 157
8.3.3 将MATLAB Figure窗口嵌入MFC程序 168
8.3.4 将M文件编译为可执行文件进行混合编程 173
第9章 使用Mideva实现混合编程 177
9.1 Mideva概述 177
9.2 Mideva的安装及使用 178
9.2.1 Mideva的安装 178
9.2.2 Mideva的使用 180
9.3 VC6.0使用Mideva的环境设置 183
9.4 VC6.0与Mideva混合编程实例 184
第10章 使用ActiveX技术实现混合编程 193
10.1 ActiveX技术概述 193
10.2 利用ActiveX自动控制器实现混合编程 194
10.3 利用ActiveX的自动化服务器进行混合编程 196
第11章 使用MATLAB Add-in实现混合编程 202
11.1 MATLAB Add-in概述 202
11.2 MATLAB Add-in安装及VC6.0环境设置 202
11.3 MATLAB Add-in混合编程实例 206
第12章 MATLAB混合编程综合实例 208
12.1 系统需求分析 208
12.1.1 软硬件环境需求 208
12.1.2 用户界面需求 208
12.1.3 软件质量需求 209
12.2 系统模块划分 209
12.3 模块的实现及系统集成 209
12.3.1 底层平台的实现 209
12.3.2 图像处理模块的实现 214
12.3.3 系统集成与发布 235
参考文献 254