第1章 MATLAB入门 1
1.1 MATLAB软件简介 1
1.2 MATLAB桌面环境 3
1.3 MATLAB编程基础 5
1.3.1变量和数学运算 5
1.3.2 MATLAB的输入与输出语句 9
1.3.3变量的保存与装载 10
1.4 MATLAB的数据类型 11
1.5 M语言入门 14
1.5.1流程控制 15
1.5.2脚本文件 20
1.5.3函数文件 20
1.6 MATLAB使用时的一些技巧 23
1.6.1避免使用循环 23
1.6.2大型矩阵维度的预先确定 24
第2章 MATLAB数组和矩阵的操作 27
2.1建立和连接矩阵 27
2.1.1构造简单的矩阵 27
2.1.2专业化的矩阵函数 28
2.1.3连接矩阵 35
2.1.4连接矩阵的函数 35
2.1.5组合不同的数据类型 39
2.1.6生成数字序列 41
2.2矩阵的索引 42
2.2.1存取单个元素 42
2.2.2线性索引 42
2.2.3控制索引形式的函数 43
2.2.4存取多个元素 44
2.2.5赋值语句中的矩阵索引 46
2.2.6逻辑索引 46
2.3改变矩阵的大小和形状 47
2.3.1扩展矩阵 47
2.3.2重塑矩阵形状 49
2.3.3缩小矩阵 53
2.3.4预分配内存 54
2.4对角矩阵 55
2.4.1 tril函数 55
2.4.2 trace函数 55
2.43 3 triu函数 56
2.5完全矩阵和稀疏矩阵 56
2.5.1稀疏矩阵 56
2.5.2有关稀疏矩阵的函数 57
2.6空矩阵、向量和标量 61
2.6.1空矩阵 61
2.6.2向量 63
2.6.3标量 63
2.7获取有关矩阵的信息 64
2.7.1矩阵的维数 64
2.7.2矩阵的数据结构 67
2.7.3矩阵使用的数据类型 67
2.8矩阵元素的移位和排序 70
2.9多维数组 75
2.9.1概述 76
2.9.2建立多维数组 77
2.9.3存取多维数组的属性 80
2.9.4多维数组的索引 81
2.9.5重新排列多维数组的维 84
2.9.6重塑多维数组 85
2.9.7多维单元数组 86
第3章 创建C及Fortran语言MEX 89
3.1 MEX文件简介 89
3.2 MEX源文件的结构 91
3.2.1源文件的基本结构 91
3.2.2 MEX文件的参数 92
3.3创建C语言MEX文件 94
3.3.1 MEX指令 94
3.3.2在Visual C+++中创建MEX文件及调试 96
3.4 MEX文件的内存管理 98
3.4.1内存自动释放机制 98
3.4.2内存保留变量 101
3.4.3 MEX示例 102
3.5 Fortran的MEX文件简介 116
3.5.1简单的Fortran语言MEX文件示例 117
3.5.2 Fortran语言MEX源文件的基本结构 118
3.6管理MATLAB数据 118
3.7创建可视化的Fortran语言MEX文件 120
3.8 Fortran语言MEX文件示例 121
第4章 MAT文件应用 133
4.1 MAT文件格式介绍 133
4.2保存和加载MAT文件 134
4.2.1输出数据到MAT文件 134
4.2.2从MAT文件输入数据 138
4.3 MEX文件读写MAT文件 140
4.4用Visual C/C++ 6.0编写MAT文件 144
4.4.1创建MAT文件 144
4.4.2对读出的数据进行处理 148
4.4.3理解MAT文件的内部格式 151
4.5 MAT文件编程 156
第5章 MATLAB引擎 161
5.1引擎函数 161
5.2引擎的使用 162
5.2.1 C语言应用程序中调用MATLAB引擎 163
5.2.2 Fortran语言应用程序中调用MATLAB引擎 165
5.2.3与已经运行的MATLAB连接 167
5.3 MATLAB编译器代码控制 167
5.3.1生成头文件 168
5.3.2函数代码分析 169
5.3.3包装文件 174
5.4在Visual C++ 6.0中建立和调试引擎程序 179
5.5在C++ Builder中使用MATLAB引擎 180
5.6工程实例分析 182
第6章 MATLAB编译器 189
6.1 MATLAB与C编译器技术概述 189
6.2 MATLAB C编译器的功能 189
6.3使用MATLAB编译器的准备工作 190
6.4使用MCC 191
6.4.1 MCC的选项 191
6.4.2 MATLAB编译器的配置 192
6.4.3 MATLAB编译器的使用 194
6.5 stand -alone的可执行程序 197
6.5.1 mbuILd介绍 198
6.5.2 stand -alone应用程序的发布 200
6.6 MATLAB的高级应用 201
6.6.1编译script文件 201
6.6.2 MATLAB编译器关联分析失效的情况 201
6.6.3从C/C+++中调用MATLAB内置函数 203
6.6.4可变参数传递 204
6.6.5在MATLAB中执行和MCR执行的不同之处 205
6.6.6获取CTF文件的目录 205
6.6.7屏幕打印和错误信息显示函数 206
6.7使用mcc创建独立可执行的文件 210
6.7.1编译Loadlibrary函数 210
6.7.2使用%#external编译指示实现MATLAB和C/C+++混合编程 217
6.8 MATLAB编译器应用举例。 219
第7章 MATLAB与C语言的接口编程 225
7.1 C应用程序 225
7.1.1 C应用程序的主要结构 225
7.1.2 Windows平台下的可独立运行程序 227
7.1.3错误和警告信息 231
7.2操作MATLAB各阵列 233
7.2.1数值阵列 233
7.2.2字符阵列 239
7.2.3稀疏矩阵 241
7.2.4单元阵列 244
7.2.5结构体阵列 247
7.2.6阵列的通用操作 249
7.3阵列的索引操作 251
7.3.1为阵列元素赋值 252
7.3.2提取阵列元素值 253
7.3.3删除阵列元素值 255
7.3.4 MATLAB索引与C函数索引的比较 255
7.4 MATLAB API函数操作实例 256
7.4.1更改MATLAB数值阵列的维数 256
7.4.2分析并显示MATLAB阵列的内容 259
7.4.3向MAT文件中写入mxArray变量 268
7.4.4从MAT文件中读取mxArray变量 271
第8章 Visual C+与MATLAB接口 275
8.1在Visual C++中调用MATLAB引擎 275
8.1.1 API函数介绍 275
8.1.2使用MATLAB引擎 276
8.1.3在Visual C+++中调用MATLAB引擎实例 276
8.2 Visual C++中创建MAT文件 283
8.3 Visual C++中使用MATLAB的C、 C++数学函数库 285
8.4基于MATCOM实现Visual C++与MATLAB接口 287
8.5使用COM组件实现Visual C++与MATLAB接口 294
第9章 MATLAB COM Builder的编程实现 301
9.1 COM的基础 301
9.1.1 COM组件概述 301
9.1.2 COM组件开发的知识 302
9.2 MATLAB支持的组件自动化 304
9.2.1在MATLAB下运行其它软件的组件 304
9.2.2在其它程序下运行MATLAB的组件 307
9.3使用MATLAB COM Builder混合编程 308
9.3.1全局变量和类属性 308
9.3.2事件处理应用 310
9.3.3参数传递和转换 312
9.4 MATLAB COM Builder工具库 314
9.4.1概述 314
9.4.2工具库的类 314
9.4.3安装和发布控件 322
9.5 MATLAB COM组件综合实例 322
9.5.1编译MATLAB COM组件 323
9.5.2创建VBA工程 324
9.5.3创建FourierMain模块 324
9.5.4设计窗体 326
9.5.5测试程序 330
第10章 MATLAB与其它语言的接口混合编程 331
10.1 MATLAB与Excel接口编程 331
10.1.1自动化连接 331
10.1.2 Excel link安装 332
10.1.3应用举例 339
10.2 MATLAB与Java接口编程 341
10.2.1 MATLAB的Java接口概述 341
10.2.2 Java语言简介 342
10.2.3 Java接口应用 343
10.2.4应用举例 354
10.3 MATLAB.NET生成器 356
10.3.1 .NET生成器概述 356
10.3.2创建.NET组件 357
10.3.3 .NET生成器的编程 358
10.3.4应用举例 362
参考文献 365