《MATLAB与外部程序接口编程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:张德丰等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111257066
  • 页数:368 页
图书介绍:本书系统地介绍了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