第1章 面向对象编程 1
1.1 对象和类 1
1.1.1 面向对象编程的特点 1
1.1.2 MATLAB的数据类层次 1
1.1.3 创建对象 2
1.1.4 调用对象的方法 2
1.2 在MATLAB中创建自己的类 2
1.2.1 MATLAB类的方法集合 2
1.2.2 类目录 3
1.2.3 构造函数 3
1.2.4 设置和访问对象数据 4
1.2.5 类方法 4
1.2.6 引用和赋值 5
1.2.7 对象索引 6
1.2.8 识别对象 7
1.3.1 运算符重载 8
1.3 重载 8
1.2.9 转换器方法 8
1.3.2 函数重载 9
1.3.3 示例——polynom类 9
1.4 继承 14
1.4.1 简单继承 14
1.4.2 多继承 15
1.4.3 示例——asset类及其子类 15
1.5 组合 25
1.6.2 示例——为portfolio类定义saveobj和loadobj方法 28
1.6 保存和装载对象 28
1.6.1 保存或载入时修改对象 28
1.7 对象优先级 31
1.7.1 指定自定义类的优先级 31
1.7.2在优先层次中定位 31
第2章 改善MATLAB的运行效率 32
2.1 改善运行的技巧 32
2.1.1 分析程序的运行状况 32
2.1.2 循环矢量化 33
2.1.3 数组的内存预分配 34
2.1.4 加速运行的其他方法 35
2.2 程序运行情况监测——Profiler 36
2.2.1 Profiler的运行环境 36
2.2.2 使用Profiler 36
2.2.3 监测图形用户界面的运行情况 37
2.2.4 从命令窗口监测语句 37
2.2.5 监测综述报表 37
2.2.6 监测详细报表 38
2.2.7 利用Profiler报表中的信息 40
2.2.8 改变Profiler的字体 40
2.3 使用profile函数 40
2.3.1 profile函数的语法和使用步骤 40
2.3.2 profile函数使用演示 41
2.3.3 对结果进行访问 42
2.4.1 内存管理函数 43
2.4.2 节约内存的方法 43
2.4 有效使用内存 43
第3章 编译器 45
3.1 概述 45
3.1.1 MATLAB编译器4.0和以前版本的区别 45
3.1.2 MATLAB编译器的基本功能 48
3.1.3 使用MATLAB编译器的基本步骤 49
3.1.4 MATLAB编译器的局限性 50
3.2 安装和注册 51
3.1.5 关于运行时服务器(Runtime Server) 51
3.2.1 系统需求 52
3.2.2 安装 52
3.2.3 注册 53
3.2.4 几个问题 54
3.3 编译处理 55
3.3.1 MATLAB编译器术语简介 55
3.3.2 输入和输出文件 57
3.3.3 应用程序的部署 58
3.3.4 使用MCR 60
3.4.1 命令概况 61
3.4 使用mcc 61
3.4.2 使用宏简化编译 62
3.4.3 使用路径名 62
3.4.4 使用束文件 63
3.4.5 使用打包器文件 63
3.4.6 使用注记 65
3.4.7 脚本文件 65
3.5 独立应用程序 65
3.5.1 C独立应用程序 66
3.5.2 源代码只包括M文件 67
3.5.3 源代码包含M文件和C/C++文件 68
3.6 库 68
3.6.1 C共享库 68
3.6.2 C++共享库 72
3.6.3 MATLAB编译器生成的接口函数 75
3.7 COM和Excel组件 78
3.7.1 生成COM组件 78
3.7.2 生成Excel插件 79
4.2 获取库的信息 80
4.1.2 卸载库 80
第4章 MATLAB调用动态链接库 80
4.1.1 载入库 80
4.1 库的载入和卸载 80
4.3 调用库函数 82
4.4 传递参数 82
4.5 数据转换 83
4.5.1 简单类型 84
4.5.2 枚举类型 85
4.5.3 结构 86
4.5.4 创建引用 89
4.5.5 引用指针 91
第5章 DDE(动态数据交换)编程 92
5.1 DDE概念和技巧 92
5.2 MATLAB作为服务器 92
5.2.1 DDE命名层次 93
5.2.2 MATLAB主题和项目 93
5.3.1 相关函数 95
5.3 MATLAB作为客户 95
5.3.2 DDE提示链接 98
第6章 COM编程 99
6.1 MATLAB COM集成简介 99
6.1.1 概念和术语 99
6.1.2 支持的客户/服务器设置 100
6.1.3 注册控件和服务器 102
6.2 MATLAB COM客户支持 103
6.2.1 创建服务器进程 103
6.2.2 创建ActiveX控件 104
6.2.3 创建DLL组件的实例 107
6.2.4 创建EXE组件的实例 107
6.2.5 访问对象的接口 107
6.2.6 调用COM对象的命令 109
6.2.7 识别对象和接口 111
6.2.8 调用方法 112
6.2.9 对象属性 115
6.2.10 控件和服务器事件 121
6.2.11 编写事件处理程序 126
6.2.12 保存工作 129
6.2.13 释放COM接口和对象 130
6.2.14 识别对象 130
6.2.15 MATLAB作为自动化客户示例 131
6.3 其他COM客户信息 132
6.3.1 使用COM集合 132
6.3.2 转换数据 132
6.4 MATLAB自动化服务器支持 133
6.3.4 MATLAB COM支持的局限性 133
6.3.3 将MATLAB用作DCOM客户程序 133
6.4.1 创建自动化服务器 134
6.4.2 连接已经存在的服务器 134
6.4.3 自动化服务器函数 135
6.4.4 MATLAB自动化属性 137
6.5 其他自动化服务器信息 137
6.5.1 手工创建服务器 137
6.5.2 指定共享或独占服务器 137
6.5.3 将MATLAB用作DCOM服务器 138
第7章 MATLAB与C接口 139
7.1 MATLAB与C接口概述 139
7.2 C语言的MEX文件 140
7.2.1 MEX文件模式 140
7.2.2 第一个MEX文件 141
7.2.3 不同数据类型的传递 143
7.2.4 MEX文件内存管理 149
7.2.5 MEX文件调试 152
7.2.6 MEX应用程序开发实例 153
7.3 C引擎应用程序模式 157
7.3.1 MATLAB引擎库函数介绍 157
7.3.2 MATLAB引擎应用程序示例 159
7.3.3 在Visaul C++6.0中编译、调试引擎应用程序 161
7.3.4 MATLAB引擎应用程序实例开发 165
7.4 MAT文件模式 168
7.4.1 MAT文件格式介绍 168
7.4.2 MAT文件示例 171
第8章 MATLAB与Visual Basic接口 173
8.1 基于OLE的接口实现 173
8.1.1 实现OLE自动化 173
8.1.2 传递矩阵数据 177
8.1.3 传递字符串 182
8.1.4 处理工作空间的数据 183
8.1.5 传递和处理MATLAB函数 184
8.1.6 其他操作 186
8.2 基于ActiveX的接口实现 188
8.2.1 使用ActiveX控件 188
8.2.2 使用ActiveX DLL 192
8.2.3 使用ActiveX EXE 201
8.3 基于COM组件的接口实现 201
8.3.1 使用COM生成器 202
8.3.2 关于MatrixVB 202
9.1 MATLAB与VC混合编程接口 203
9.1.1 VC与MEX文件示例一 203
第9章 MATLAB与Visual C++接口 203
9.1.2 VC与MEX文件示例二 204
9.1.3 VC与引擎应用程序 207
9.1.4 VC与MAT文件 209
9.2 MCC 215
9.2.1 准备工作 215
9.2.2 建立独立应用程序示例 216
9.3 MATcom与Add-in 221
9.3.1 MATcom安装与生成Visual MATcom工具条 221
9.3.2 m文件转换示例——Test1 222
9.3.3 m文件转换示例——Test2 225
9.3.4 matlib数学库与Mm数据类型 228
第10章 MATLAB与Excel接口 234
10.1 自动化链接 234
10.1.1 MATLAB作为自动化客户端 234
10.2 Excel Link插件 236
10.2.1 概述 236
10.1.2 MATLAB作为自动化服务器端 236
10.2.2 安装和操作Excel Link插件 237
10.2.3 Excel Link的函数 239
10.2.4 技巧和提示 240
10.2.5 Excel Link使用实例 242
第11章 MATLAB与SPSS接口 245
11.1 SPSS软件 245
11.2 SPSS中的对象 245
11.3 MATLAB调用SPSS 247
11.4 SPSS调用MATLAB 249
第12章 COM生成器(COM Builder) 252
12.1 创建COM生成器组件 252
12.1.1 创建工程 252
12.1.2 管理M文件和MEX文件 253
12.1.3 生成组件 254
12.2 利用COM生成器组件编程 254
12.2.1 给COM生成器组件对象添加方法和属性 254
12.2.2 给COM生成器组件对象添加事件 255
12.2.3 创建类实例 257
12.2.5 处理varargin和varargout变量 259
12.2.4 调用类实例的方法 259
12.2.6 在调用方法的过程中控制错误 260
12.2.7 修改标记 260
12.3 应用举例 261
12.3.1 创建M文件 261
12.3.2 创建COM生成器组件 262
12.3.3 在Visual Basic中使用COM组件 263
12.4 COM组件的部署 268
12.4.1 组件打包 268
12.4.2 MCR 269
12.4.3 常见问题 269
12.5 深入COM生成器组件 270
12.5.1 COM组件的兼容性 270
12.5.2 组件生成的内部过程 270
12.5.3 调用约定 271
12.5.4 组件注册 272
12.5.6 数据转换 275
12.5.5 版本控制 275
12.6 工具库 280
12.6.1 MWUtil类 280
12.6.2 MWFlags类 283
12.6.3 MWStruct类 286
12.6.4 MWField类 288
12.6.5 MWComplex类 288
12.6.6 MWSparse类 289
12.6.7 MWArg类 290
12.6.8 3个枚举类型 291
第13章 Excel生成器(Excel Builder) 292
13.1 创建Excel生成器插件 292
13.1.1 创建工程 292
13.1.2 管理M文件和MEX文件 293
13.1.3 生成组件 293
13.1.4 测试VBA模块 294
13.1.5 打包和发布组件 295
13.2 用Excel生成器组件编程 295
13.2.1 用Excel初始化生成器库 295
13.2.2 创建类的实例 296
13.2.3 调用类实例的方法 297
13.2.4 处理varargin和varargout参数 298
13.2.5 在调用方法的过程中控制错误 299
13.2.6 修改标记 299
13.3 魔方示例 302
13.3.1 一个输入的情况 302
13.3.2 使用多个文件和变量 304
13.4 谱分析示例 308
13.4.1 创建组件 308
13.4.2 将组件集成到VBA中 309
13.4.3 创建图形用户界面 310
13.4.4 保存和测试插件 315
13.4.5 打包组件 316
14.1.2 支持的串行通信接口标准及平台 317
14.2.1 什么是串行通信 317
14.2 进一步了解串行接口 317
14.1.1 什么是MATLAB串行通信接口 317
14.1 MATLAB串行通信接口简介 317
第14章 MATLAB与硬件接口 317
14.2.2 串行接口标准 318
14.2.3 串行接口信号及管脚分配 318
14.2.4 用串行电缆连接通信设备 318
14.2.5 查找所使用平台的串行接口信息 319
14.3 用串行接口进行通信 320
14.3.1 一个简单的例子 320
14.3.2 通信步骤及相关函数介绍 321
14.4 应用实例 325
14.4.1 实例1——与示波器通信 325
14.4.2 实例2——拆分输入数据 327
14.4.3 实例3——计算机与计算机通信 328
14.5 串口I/O相关函数表 329
第15章 界面设计技巧 331
15.1 使用外部控件 331
15.2 控件的选择、移动、缩放和复制 335
15.3 控件标题文本的换行 336
15.4 将MATLAB绘制的图形显示到VB界面上 337