书籍详情
MATLAB与外部程序接口编程
作者:张德丰 等编著
出版社:机械工业出版社
出版时间:2009-01-01
ISBN:9787111257066
定价:¥42.00
购买这本书可以去
内容简介
本书系统地介绍了MATLAB与外部程序的接口方法和技巧,重点介绍了MATLAB与各种高级语言之间的交互以及MATLAB提供的各种计算引擎和服务器引擎。书中给出了大量的MATLAB与高级语言结合的编程实例,可帮助读者更好地理解和掌握MATLAB应用程序接口的使用方法。通过MATLAB提供的串口接口,可以实现从外围设备(如MODEM)直接输入数据到MATLAB工作空间,再利用MATLAB进行处理。《MATLAB与外部程序接口编程》可作为计算机、电子学、信息科学、通信、控制等专业的本科生、研究生以及其他专业技术人员学习MATLAB与外部程序接口技术的教材或参考书。
作者简介
暂缺《MATLAB与外部程序接口编程》作者简介
目录
前言
第1章 MATLAB外部接口概述 1
1.1 MATLAB系统简介 1
1.2 MATLAB常用的数据类型 2
1.2.1 数值阵列 2
1.2.2 字符阵列 4
1.2.3 元组阵列 5
1.2.4 结构体阵列 7
1.2.5 类和对象 9
1.3 MATLAB接口简介 10
1.3.1 MEX文件 10
1.3.2 MATLAB引擎 11
1.3.3 MATLAB C/C++数学函数库 11
1.3.4 MATLAB编译器 12
1.3.5 串口接口 13
第2章 MATLAB的MEX及MAT文件 14
2.1 C语言MEX 14
2.2 C-MEX混合编程 16
2.3 MEX文件的创立与调用 18
2.3.1 工程实例 18
2.3.2 编译器选项 21
2.3.3 脚本M文件向函数M文件的转化 22
2.3.4 MEX独立应用程序的发布 24
2.3.5 MEX的编程实例 25
2.4 FORTRAN语言的MEX文件 29
2.4.1 简单的FORTRAN语言MEX文件示例 29
2.4.2 传递字符串变量 31
2.4.3 在FORTRAN语言中调用MATLAB命令 33
2.5 操作MAT文件 35
2.5.1 MAT文件格式 35
2.5.2 操作MAT文件的MATLAB API 36
2.6 Visual C++调用MAT时的环境设置 39
2.7 MAT文件应用举例 40
第3章 MATLAB数值运算及数据的导入/导出 45
3.1 数值运算 45
3.1.1 矩阵的构造 45
3.1.2 矩阵的基本运算 48
3.1.3 矩阵的函数运算 50
3.1.4 矩阵分解 51
3.2 文本的打开和关闭 55
3.3 二进制数据 56
3.3.1 二进制数据的导入 56
3.3.2 二进制数据的导出 58
3.4 数据分析和统计 59
3.4.1 基本数据分析函数 59
3.4.2 协方差和相关系数函数 65
3.4.3 有限差分 66
3.5 使用文件I/O函数 67
3.5.1 二进制数据的读取 68
3.5.2 二进制数据的写入 69
3.5.3 逐行读取文本文件 69
3.5.4 格式化写入文本数据 70
3.6 稀疏矩阵 71
3.6.1 稀疏矩阵的创建和存储 71
3.6.2 查看稀疏矩阵 74
3.6.3 稀疏矩阵的运算 75
第4章 MATLAB编译器 77
4.1 MATLAB编译器简介 77
4.1.1 MATLAB编译器使用 77
4.1.2 编译M文件的原因 78
4.1.3 MATLAB编译器的局限性 79
4.2 mcc编译器典型应用 79
4.2.1 独立可执行文件 79
4.2.2 C动态链接库 84
4.2.3 C++动态链接库 85
4.2.4 C/C++动态链接库的不同之处 86
4.3 进一步了解mcc命令 87
4.3.1 mcc常用命令选项 87
4.3.2 捆绑命令文件 88
4.4 M文件与C/C++混合创立可独立运行的程序 88
4.5 控制代码生成 91
4.5.1 控制代码生成介绍 91
4.5.2 编译器生成的头文件 93
4.5.3 内部接口函数 95
4.5.4 编译器支持的可执行类型 98
4.5.5 M代码与C/C++代码的接口 102
4.6 MATLAB和C++接口中函数注册 103
4.7 综合实例 106
第5章 MATLAB引擎的混合编程 110
5.1 MATLAB引擎函数简介 110
5.2 MATLAB引擎函数库 111
5.3 在Visual C++中调用MATLAB引擎时的环境设置 116
5.4 MATLAB引擎类的封装 124
5.4.1 CMATLABEng类的定义和实现代码 124
5.4.2 CMATLABEng说明和使用方法 128
5.5 CMATLABEng应用实例 128
5.6 在Visual FORTRAN中使用MATLABEngine 131
第6章 MATLAB与C/C++语言的接口 136
6.1 MATLAB与C语言混合编程数据类型 136
6.1.1 MATLAB C语言接口中特殊的数据类型 136
6.1.2 size_t类型 138
6.2 MATLAB C语言接口数据类型 138
6.2.1 MATLAB普通数值阵列的操作 138
6.2.2 稀疏数组阵列 140
6.2.3 MATLAB结构体阵列 143
6.2.4 MATLAB元组 146
6.2.5 MATLAB字符阵列 148
6.3 MATLAB调用C 149
6.3.1 MEX文件接口 150
6.3.2 处理标量数据 150
6.3.3 处理字符串数据 152
6.3.4 处理稀疏矩阵 153
6.3.5 处理结构体和单元阵列 156
6.4 在C++中调用MATLAB C++数学库函数 159
6.4.1 MATLAB C++数学库函数介绍 159
6.4.2 对MATLAB阵列的操作 163
6.4.3 索引 172
6.4.4 基于I/O流的阵列输入 178
6.4.5 库函数调用 182
6.4.6 数学运算符的使用 186
6.5 MATLAB C++工具函数 189
第7章 MATLAB COM Builder与Visual C++ 192
7.1 COM基础知识 192
7.2 MATLAB COM Builder简介 193
7.3 COM Builder基础知识 193
7.3.1 配置MATLAB C/C++编译器 193
7.3.2 创建MATLAB COM Builder组件 194
7.3.3 MATLAB COM Builder工具库 197
7.3.4 在Visual C++中调用COM组件的步骤 198
7.4 MATLAB COM Builder与Visual C++之间的数据转换 199
7.4.1 VARIANT数据类型 199
7.4.2 SAFEAPPAY数据类型 201
7.4.3 SAFEAPPAY的创建函数 202
7.4.4 MATLAB COM Builder与Visual C++之间的数据转换 203
7.5 MATLAB COM Builder的枚举类型 207
7.6 综合实例 209
第8章 MATLAB与Java、Delphi接口编程 212
8.1 向MATLAB中引入Java类库 213
8.2 创建和使用Java对象 216
8.2.1 创建Java对象 216
8.2.2 Java对象的链接 217
8.2.3 存储和装载对象 218
8.2.4 使用Java对象 222
8.3 在MATLAB中使用Java数组 224
8.3.1 Java数组的创建 225
8.3.2 为Java数组赋值 226
8.3.3 访问Java数组元素 227
8.3.4 Java数组的引用和复制 229
8.3.5 Java数组的链接 230
8.4 向Java对象传递数据 231
8.5 处理Java方法调用返回的数据 235
8.6 综合实例 236
8.7 利用MATLAB引擎实例混合编程 245
8.7.1 动态链接库介绍 245
8.7.2 在Delphi中调用Visual C++创建的动态链接库的实例 245
8.7.3 MATLAB引擎动态链接库的设计 250
8.8 Delphi调用Mideva生成的动态链接库 254
8.8.1 Mideva介绍 254
8.8.2 应用实例 254
8.9 通过外部调用实现混合编程 259
8.9.1 外部调用方法介绍 259
8.9.2 应用实例 260
第9章 MATLAB与其他语言的混合编程 262
9.1 C++ Builder与MATLAB 262
9.1.1 Mideva软件平台 262
9.1.2 C++ Builder直接调用MATLAB函数 263
9.1.3 C++ Builder调用MATLAB工具箱函数转换后的DLL 264
9.1.4 C++ Builder与MATLAB混合编程的另一种实现 266
9.1.5 综合实例 268
9.2 MATLAB和Excel的混合编程 270
9.2.1 MATLAB和Excel的混合编程介绍 270
9.2.2 通过Excel Link实现Excel 和MATLAB的数据共享 270
9.2.3 通过Excel生成器 276
9.2.4 直接将MATLAB工作区间的数据复制到Excel 278
9.3 MATLAB与Visual Basic语言接口编程 279
9.3.1 DDE编程 279
9.3.2 MATLAB调用Visual Basic组件 281
9.3.3 Visual Basic调用MATLAB组件 289
9.3.4 综合实例 290
第10章 Matcom 292
10.1 Matcom的安装 292
10.2 编译独立的可执行程序 293
10.3 使用Matrix〈LIB〉 295
10.3.1 创建一个新的C++工程 295
10.3.2 初始化工作 296
10.3.3 函数调用 297
10.4 在Visual C++中使用Matcom C++矩阵库 299
10.5 使用Matcom C++矩阵库的矩阵类Mm 302
10.5.1 创建字符矩阵 302
10.5.2 创建数值矩阵 303
10.5.3 利用下标访问矩阵的元素 304
10.5.4 获取矩阵数据的指针 304
10.5.5 Mm矩阵对象的初始化 305
10.5.6 Matcom C++矩阵库常量 306
10.5.7 Mm矩阵类的几个常用函数 306
10.5.8 调用系统函数 308
10.6 Matcom用于图形显示的常用函数 310
10.7 Matcom C++矩阵库的图形和图像显示功能 310
10.8 Matcom进行图像显示的常用函数 312
10.9 Matcom应用实例 312
第11章 MATLAB与外设的数据交换及混合编程 318
11.1 串口接口 318
11.1.1 什么是MATLAB串口接口 318
11.1.2 什么是串口通信 318
11.1.3 串口接口标准 318
11.1.4 使用串口通信电缆连接两台设备 319
11.1.5 串口信号和针分配 320
11.1.6 串口数据格式 320
11.1.7 检测操作平台的串口信息 320
11.2 串口对象的建立 321
11.2.1 建立一个串口对象 321
11.2.2 连接到设备 323
11.2.3 配置通信参数 324
11.3 数据的读写 325
11.3.1 验证双通道示波器信息举例 325
11.3.2 控制对MATLAB命令行的访问 326
11.3.3 向串口设备写数据 326
11.3.4 从设备读入数据 328
11.4 事件和函数回调 331
11.4.1 回调函数应用举例 331
11.4.2 事件类型和回调属性 332
11.4.3 存储事件信息 333
11.4.4 建立和执行一个回调函数 333
11.5 记录数据到磁盘 334
11.5.1 记录数据的应用举例 335
11.5.2 创建多个记录文件 335
11.5.3 设定一个文件名 335
11.5.4 记录文件的格式 336
11.6 保存和装载数据 336
11.6.1 串口对象的读与写操作的举例 336
11.6.2 断开连接和清空工作空间 337
11.7 混合编程应用实例 338
11.7.1 数字图像处理 338
11.7.2 MATLAB图像处理工具箱 338
11.7.3 Visual C++的图像处理位图文件读/写操作 339
11.8 实例框架 341
11.8.1 框架搭建 341
11.8.2 模块划分 343
11.8.3 应用程序功能添加 356
11.9 混合编程的实现方法 360
11.9.1 图像形态学——MATLAB引擎数据交互实现 360
11.9.2 图像直方图统计——MATLAB引擎命令实现 363
参考文献 368
第1章 MATLAB外部接口概述 1
1.1 MATLAB系统简介 1
1.2 MATLAB常用的数据类型 2
1.2.1 数值阵列 2
1.2.2 字符阵列 4
1.2.3 元组阵列 5
1.2.4 结构体阵列 7
1.2.5 类和对象 9
1.3 MATLAB接口简介 10
1.3.1 MEX文件 10
1.3.2 MATLAB引擎 11
1.3.3 MATLAB C/C++数学函数库 11
1.3.4 MATLAB编译器 12
1.3.5 串口接口 13
第2章 MATLAB的MEX及MAT文件 14
2.1 C语言MEX 14
2.2 C-MEX混合编程 16
2.3 MEX文件的创立与调用 18
2.3.1 工程实例 18
2.3.2 编译器选项 21
2.3.3 脚本M文件向函数M文件的转化 22
2.3.4 MEX独立应用程序的发布 24
2.3.5 MEX的编程实例 25
2.4 FORTRAN语言的MEX文件 29
2.4.1 简单的FORTRAN语言MEX文件示例 29
2.4.2 传递字符串变量 31
2.4.3 在FORTRAN语言中调用MATLAB命令 33
2.5 操作MAT文件 35
2.5.1 MAT文件格式 35
2.5.2 操作MAT文件的MATLAB API 36
2.6 Visual C++调用MAT时的环境设置 39
2.7 MAT文件应用举例 40
第3章 MATLAB数值运算及数据的导入/导出 45
3.1 数值运算 45
3.1.1 矩阵的构造 45
3.1.2 矩阵的基本运算 48
3.1.3 矩阵的函数运算 50
3.1.4 矩阵分解 51
3.2 文本的打开和关闭 55
3.3 二进制数据 56
3.3.1 二进制数据的导入 56
3.3.2 二进制数据的导出 58
3.4 数据分析和统计 59
3.4.1 基本数据分析函数 59
3.4.2 协方差和相关系数函数 65
3.4.3 有限差分 66
3.5 使用文件I/O函数 67
3.5.1 二进制数据的读取 68
3.5.2 二进制数据的写入 69
3.5.3 逐行读取文本文件 69
3.5.4 格式化写入文本数据 70
3.6 稀疏矩阵 71
3.6.1 稀疏矩阵的创建和存储 71
3.6.2 查看稀疏矩阵 74
3.6.3 稀疏矩阵的运算 75
第4章 MATLAB编译器 77
4.1 MATLAB编译器简介 77
4.1.1 MATLAB编译器使用 77
4.1.2 编译M文件的原因 78
4.1.3 MATLAB编译器的局限性 79
4.2 mcc编译器典型应用 79
4.2.1 独立可执行文件 79
4.2.2 C动态链接库 84
4.2.3 C++动态链接库 85
4.2.4 C/C++动态链接库的不同之处 86
4.3 进一步了解mcc命令 87
4.3.1 mcc常用命令选项 87
4.3.2 捆绑命令文件 88
4.4 M文件与C/C++混合创立可独立运行的程序 88
4.5 控制代码生成 91
4.5.1 控制代码生成介绍 91
4.5.2 编译器生成的头文件 93
4.5.3 内部接口函数 95
4.5.4 编译器支持的可执行类型 98
4.5.5 M代码与C/C++代码的接口 102
4.6 MATLAB和C++接口中函数注册 103
4.7 综合实例 106
第5章 MATLAB引擎的混合编程 110
5.1 MATLAB引擎函数简介 110
5.2 MATLAB引擎函数库 111
5.3 在Visual C++中调用MATLAB引擎时的环境设置 116
5.4 MATLAB引擎类的封装 124
5.4.1 CMATLABEng类的定义和实现代码 124
5.4.2 CMATLABEng说明和使用方法 128
5.5 CMATLABEng应用实例 128
5.6 在Visual FORTRAN中使用MATLABEngine 131
第6章 MATLAB与C/C++语言的接口 136
6.1 MATLAB与C语言混合编程数据类型 136
6.1.1 MATLAB C语言接口中特殊的数据类型 136
6.1.2 size_t类型 138
6.2 MATLAB C语言接口数据类型 138
6.2.1 MATLAB普通数值阵列的操作 138
6.2.2 稀疏数组阵列 140
6.2.3 MATLAB结构体阵列 143
6.2.4 MATLAB元组 146
6.2.5 MATLAB字符阵列 148
6.3 MATLAB调用C 149
6.3.1 MEX文件接口 150
6.3.2 处理标量数据 150
6.3.3 处理字符串数据 152
6.3.4 处理稀疏矩阵 153
6.3.5 处理结构体和单元阵列 156
6.4 在C++中调用MATLAB C++数学库函数 159
6.4.1 MATLAB C++数学库函数介绍 159
6.4.2 对MATLAB阵列的操作 163
6.4.3 索引 172
6.4.4 基于I/O流的阵列输入 178
6.4.5 库函数调用 182
6.4.6 数学运算符的使用 186
6.5 MATLAB C++工具函数 189
第7章 MATLAB COM Builder与Visual C++ 192
7.1 COM基础知识 192
7.2 MATLAB COM Builder简介 193
7.3 COM Builder基础知识 193
7.3.1 配置MATLAB C/C++编译器 193
7.3.2 创建MATLAB COM Builder组件 194
7.3.3 MATLAB COM Builder工具库 197
7.3.4 在Visual C++中调用COM组件的步骤 198
7.4 MATLAB COM Builder与Visual C++之间的数据转换 199
7.4.1 VARIANT数据类型 199
7.4.2 SAFEAPPAY数据类型 201
7.4.3 SAFEAPPAY的创建函数 202
7.4.4 MATLAB COM Builder与Visual C++之间的数据转换 203
7.5 MATLAB COM Builder的枚举类型 207
7.6 综合实例 209
第8章 MATLAB与Java、Delphi接口编程 212
8.1 向MATLAB中引入Java类库 213
8.2 创建和使用Java对象 216
8.2.1 创建Java对象 216
8.2.2 Java对象的链接 217
8.2.3 存储和装载对象 218
8.2.4 使用Java对象 222
8.3 在MATLAB中使用Java数组 224
8.3.1 Java数组的创建 225
8.3.2 为Java数组赋值 226
8.3.3 访问Java数组元素 227
8.3.4 Java数组的引用和复制 229
8.3.5 Java数组的链接 230
8.4 向Java对象传递数据 231
8.5 处理Java方法调用返回的数据 235
8.6 综合实例 236
8.7 利用MATLAB引擎实例混合编程 245
8.7.1 动态链接库介绍 245
8.7.2 在Delphi中调用Visual C++创建的动态链接库的实例 245
8.7.3 MATLAB引擎动态链接库的设计 250
8.8 Delphi调用Mideva生成的动态链接库 254
8.8.1 Mideva介绍 254
8.8.2 应用实例 254
8.9 通过外部调用实现混合编程 259
8.9.1 外部调用方法介绍 259
8.9.2 应用实例 260
第9章 MATLAB与其他语言的混合编程 262
9.1 C++ Builder与MATLAB 262
9.1.1 Mideva软件平台 262
9.1.2 C++ Builder直接调用MATLAB函数 263
9.1.3 C++ Builder调用MATLAB工具箱函数转换后的DLL 264
9.1.4 C++ Builder与MATLAB混合编程的另一种实现 266
9.1.5 综合实例 268
9.2 MATLAB和Excel的混合编程 270
9.2.1 MATLAB和Excel的混合编程介绍 270
9.2.2 通过Excel Link实现Excel 和MATLAB的数据共享 270
9.2.3 通过Excel生成器 276
9.2.4 直接将MATLAB工作区间的数据复制到Excel 278
9.3 MATLAB与Visual Basic语言接口编程 279
9.3.1 DDE编程 279
9.3.2 MATLAB调用Visual Basic组件 281
9.3.3 Visual Basic调用MATLAB组件 289
9.3.4 综合实例 290
第10章 Matcom 292
10.1 Matcom的安装 292
10.2 编译独立的可执行程序 293
10.3 使用Matrix〈LIB〉 295
10.3.1 创建一个新的C++工程 295
10.3.2 初始化工作 296
10.3.3 函数调用 297
10.4 在Visual C++中使用Matcom C++矩阵库 299
10.5 使用Matcom C++矩阵库的矩阵类Mm 302
10.5.1 创建字符矩阵 302
10.5.2 创建数值矩阵 303
10.5.3 利用下标访问矩阵的元素 304
10.5.4 获取矩阵数据的指针 304
10.5.5 Mm矩阵对象的初始化 305
10.5.6 Matcom C++矩阵库常量 306
10.5.7 Mm矩阵类的几个常用函数 306
10.5.8 调用系统函数 308
10.6 Matcom用于图形显示的常用函数 310
10.7 Matcom C++矩阵库的图形和图像显示功能 310
10.8 Matcom进行图像显示的常用函数 312
10.9 Matcom应用实例 312
第11章 MATLAB与外设的数据交换及混合编程 318
11.1 串口接口 318
11.1.1 什么是MATLAB串口接口 318
11.1.2 什么是串口通信 318
11.1.3 串口接口标准 318
11.1.4 使用串口通信电缆连接两台设备 319
11.1.5 串口信号和针分配 320
11.1.6 串口数据格式 320
11.1.7 检测操作平台的串口信息 320
11.2 串口对象的建立 321
11.2.1 建立一个串口对象 321
11.2.2 连接到设备 323
11.2.3 配置通信参数 324
11.3 数据的读写 325
11.3.1 验证双通道示波器信息举例 325
11.3.2 控制对MATLAB命令行的访问 326
11.3.3 向串口设备写数据 326
11.3.4 从设备读入数据 328
11.4 事件和函数回调 331
11.4.1 回调函数应用举例 331
11.4.2 事件类型和回调属性 332
11.4.3 存储事件信息 333
11.4.4 建立和执行一个回调函数 333
11.5 记录数据到磁盘 334
11.5.1 记录数据的应用举例 335
11.5.2 创建多个记录文件 335
11.5.3 设定一个文件名 335
11.5.4 记录文件的格式 336
11.6 保存和装载数据 336
11.6.1 串口对象的读与写操作的举例 336
11.6.2 断开连接和清空工作空间 337
11.7 混合编程应用实例 338
11.7.1 数字图像处理 338
11.7.2 MATLAB图像处理工具箱 338
11.7.3 Visual C++的图像处理位图文件读/写操作 339
11.8 实例框架 341
11.8.1 框架搭建 341
11.8.2 模块划分 343
11.8.3 应用程序功能添加 356
11.9 混合编程的实现方法 360
11.9.1 图像形态学——MATLAB引擎数据交互实现 360
11.9.2 图像直方图统计——MATLAB引擎命令实现 363
参考文献 368
猜您喜欢