当前位置:首页 > 工业技术
MATLAB编译程序和外部接口
MATLAB编译程序和外部接口

MATLAB编译程序和外部接口PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:董振海编著
  • 出 版 社:北京:国防工业出版社
  • 出版年份:2010
  • ISBN:9787118066111
  • 页数:452 页
图书介绍:本书主要内容包括:使用MAT文件;在不同平台之间交换数据;写字符数据;编译和连接处理MAT文件程序;获取库的有关信息;调用库函数—calllib函数;传送参数;数据转换;MATLAB与C/C和Fortran的接口—从MATLAB调用C/C和Fortran程序;与MEX文件有关的内存管;建立MEX文件时常见的问题;MEX文件的例子;调用引擎子程序的例子;MATLAB与Java的接口—从MATLAB调用Java等等。
《MATLAB编译程序和外部接口》目录

上篇 MATLAB编译程序 1

引言 1

第1章 MATLAB编译程序的有关命令、附注函数 3

1.1 编译程序的有关命令 3

1.1.1 mcc 3

1.1.2 buildmcr 8

1.1.3 mbuild 11

1.1.4 isdeployed 14

1.2 附注函数 14

1.2.1 %#external 14

1.2.2 %#function 14

1.3 mcc命令选项的快速参考 15

第2章 MATLAB编译程序生成目标程序 17

2.1 MATLAB编译程序可以生成的目标程序 17

2.1.1 封装文件 17

2.1.2 独立应用程序 17

2.1.3 库 18

2.1.4 MATLAB的COM和Excel创建程序 19

2.2 编译程序建立程序组件的基本过程 19

2.2.1 编译独立的应用程序 20

2.2.2 编译共享库 20

2.2.3 生成调用共享库的独立应用程序 20

2.2.4 在开发程序的机器上测试组件 21

2.2.5 部署程序组件到别的机器 21

2.3 MATLAB编译程序的局限 22

2.3.1 编译MATLAB和工具箱的限制 22

2.3.2 对独立应用程序的限制 22

2.3.3 弥补Callback问题:丢失函数 23

第3章 安装与配置 25

3.1 系统要求 25

3.2 安装 26

3.2.1 MATLAB编译程序的安装 26

3.2.2 安装ANSI C或C++编译程序 26

3.3 配置 27

3.3.1 mbuild应用程序简介 27

3.3.2 配置ANSI C或C++编译程序 27

3.4 选项文件 29

3.4.1 寻找选项文件 29

3.4.2 修改选项文件 30

3.4.3 用mbuild-setup选择编译程序的提示 35

3.5 Windows中编译程序的限制 36

第4章 编译过程 37

4.1 MATLAB编译程序技术术语 37

4.1.1 MATLAB组件运行时库 37

4.1.2 组件技术文件 37

4.2 编译过程 37

4.3 输入和输出文件 38

4.3.1 独立可执行程序 38

4.3.2 C共享库 39

第5章 部署过程 40

5.1 概述 40

5.1.1 生成的代码部署于不同平台 40

5.1.2 抽取CTF档案而不执行组件 40

5.1.3 用户操纵编译路径 41

5.2 在部署的机器上安装MCR 42

5.2.1 在Windows系统中安装MCR 42

5.2.2 在Linux系统中安装MCR 43

第6章 使用mcc所涉及的种种问题 45

6.1 编译程序的选项 45

6.2 宏与捆绑文件——简化编译选项 46

6.2.1 宏 46

6.2.2 捆绑文件 47

6.3 使用封装文件 48

6.3.1 主文件封装 49

6.3.2 C库封装 51

6.3.3 C++库封装 54

6.3.4 三种封装文件的比较 58

6.3.5 COM组件封装 58

6.4 使用%#external附注函数 58

6.5 使用%#function附注函数 64

6.6 脚本文件 65

6.6.1 转换脚本M文件为函数M文件 65

6.6.2 应用程序中包含的脚本文件 66

6.7 使用路径名 66

6.8 有关根目录和版本信息的命令 67

6.8.1 matlabroot命令 67

6.8.2 ver命令 67

第7章 独立应用程序 68

7.1 C/C++独立应用程序的目标程序 68

7.1.1 编译应用程序 68

7.1.2 测试应用程序 74

7.1.3 部署应用程序 75

7.1.4 运行应用程序 76

7.2 只用函数M文件写应用程序代码 77

7.3 混合M文件与C或C++文件的独立应用程序——C/C++与MATLAB接口之C/C++程序调用MATLAB程序 82

7.3.1 简单例子 82

7.3.2 稍复杂例子 89

7.3.3 小结 95

第8章 从函数M文件生成共享库——C/C++与MATLAB接口之C++程序调用MATLAB程序 96

8.1 C共享库 96

8.1.1 C共享库的封装 96

8.1.2 C共享库例子 96

8.1.3 调用共享库 107

8.2 C++共享库 108

8.2.1 C++共享库的封装 108

8.2.2 C++共享库的例子 109

8.3 MATLAB编译程序生成的接口函数 118

8.3.1 调用共享库程序的结构 132

8.3.2 库初始与结束函数 133

8.3.3 打印与错误处理函数 133

8.3.4 由M文件生成的函数 134

8.4 独立应用程序与共享库编译上的区别 135

第9章 COM和Excel组件 137

9.1 COM和Excel的MATLAB生成器 137

9.2 COM对象的目标程序 137

9.3 Excel Plug-In目标程序 143

第10章 错误和警告信息 145

10.1 编译时错误 145

10.2 警告信息 147

10.3 运行时错误 152

10.4 Depfun错误(相关性分析错误) 153

10.5 问题解答 153

10.5.1 mbuild有关的问题 154

10.5.2 MATLAB编译程序有关的问题 155

下篇 MATLAB外部接口 156

引言 156

第11章 输入和输出数据 157

11.1 使用MAT文件 157

11.1.1 输入数据到MATLAB 157

11.1.2 从MATLAB输出数据 158

11.1.3 在不同平台之间交换数据 159

11.1.4 读/写MAT文件 160

11.1.5 写字符数据 160

11.2 读写MAT文件的例子 161

11.2.1 用C建立MAT文件 161

11.2.2 用C读MAT文件 166

11.2.3 用Fortran建立MAT文件 170

11.2.4 用Fortran读MAT文件 174

11.3 编译和连接处理MAT文件的程序 176

11.3.1 屏蔽浮点数异常 176

11.3.2 在Windows系统编译和连接程序 177

11.3.3 需要的第三方源文件 179

第12章 MATLAB与通用DLL的接口 181

12.1 加载和卸载库 181

12.1.1 加载共享库——loadlibrary函数 181

12.1.2 卸载库——unloadlibrary函数 186

12.2 获取库的有关信息 188

12.2.1 libfunctions函数 188

12.2.2 libfunctionsview函数 189

12.3 调用库函数——calllib函数 190

12.4 传送参数 191

12.5 数据转换 193

12.5.1 原始数据类型 194

12.5.2 枚举类型 196

12.5.3 结构 197

12.5.4 建立引用 202

12.5.5 引用指针 206

第13章 MATLAB与C/C++和Fortran的接口——从MATLAB调用C和Fortran程序 208

13.1 MEX文件 208

13.1.1 使用MEX文件 208

13.1.2 mx和mex为前缀的子程序的区别 208

13.2 MATLAB数据 209

13.2.1 C语言程序中的MATLAB数组 209

13.2.2 数据存储 209

13.2.3 MATLAB的数据类型 210

13.2.4 初试数据处理 214

13.3 生成MEX文件 223

13.3.1 mex函数 223

13.3.2 mex的选项文件 229

13.3.3 在Windows系统建立MEX文件的过程 231

第14章 用C语言写MEX文件 233

14.1 MEX文件的结构 233

14.2 关于mexFunction函数 235

14.2.1 mexFunction的定义 235

14.2.2 mexFunction的一般结构 236

14.3 与MEX文件有关的内存管理 237

14.3.1 自动清除临时数组机制 237

14.3.2 永久数组 238

14.3.3 内存管理所涉及的主要函数 239

14.3.4 MEX文件的执行、清除和锁定 251

14.4 建立MEX文件时常见的问题 252

14.4.1 MEX文件本身的问题 252

14.4.2 内存管理的问题 253

14.5 C MEX文件的例子 254

14.5.1 传送一个标量 254

14.5.2 传送字串 260

14.5.3 传送两个或多个输入或输出参数 264

14.5.4 传送结构数组和单元数组 265

14.5.5 处理复数数据 276

14.5.6 处理8位、16位和32位数据 279

14.5.7 操作多维数值数组 280

14.5.8 处理稀疏矩阵 284

14.5.9 从C MEX文件调用MATLAB函数 290

第15章 MATLAB与C和Fortran的接口——在C和Fortran程序中调用MATLAB 293

15.1 MATLAB引擎子程序库 293

15.2 调用引擎子程序的例子 297

15.2.1 从C应用程序调用MATLAB(Windows系统) 298

15.2.2 从Fortran应用程序调用MATLAB 301

15.3 编译和连接引擎程序 304

15.3.1 屏蔽浮点异常 304

15.3.2 在UNIX系统编译和连接引擎程序 304

15.3.3 在Windows系统编译和连接引擎程序 305

15.3.4 需要的第三方文件 307

第16章 MATLAB与Java的接口——从MATLAB调用Java 309

16.1 概述 309

16.2 在MATLAB中使用Java类和方法 309

16.2.1 Java类的源 309

16.2.2 定义新的Java类 310

16.2.3 Java类的路径 310

16.2.4 使Java类变为可用于MATLAB的类 319

16.2.5 加载Java类 320

16.2.6 简化Java类名 321

16.2.7 寻找原来的方法库 322

16.3 建立和使用Java对象 322

16.3.1 构造和引用Java对象 323

16.3.2 连接Java对象 324

16.3.3 保存和加载Java对象 326

16.3.4 查看对象的公共数据字段 326

16.3.5 存取私有和公共数据 327

16.3.6 存取静态字段的数据 328

16.3.7 确定对象的类 328

16.4 调用Java对象的方法 330

16.4.1 使用Java和MATLAB的调用语法形式 330

16.4.2 调用Java类的静态方法 331

16.4.3 获取方法的有关信息 332

16.4.4 影响MATLAB命令的Java方法 336

16.4.5 MATLAB怎样处理未定义的方法 337

16.4.6 MATLAB怎样处理Java异常 337

16.5 在MATLAB中使用Java数组 338

16.5.1 MATLAB怎样表示Java数组 338

16.5.2 在MATLAB中建立对象的数组 341

16.5.3 存取Java数组的元素 343

16.5.4 给Java数组赋值 345

16.5.5 连接Java数组 348

16.5.6 对Java数组建立新的引用 349

16.5.7 建立Java数组的复制 350

16.6 传送数据到Java方法 352

16.6.1 MATLAB参数数据的转换 352

16.6.2 传送内建数据类型 353

16.6.3 传送字串参数 354

16.6.4 传送Java对象 354

16.6.5 另外的数据转换问题 357

16.6.6 传送数据到重载方法 357

16.7 处理从Java方法返回的数据 358

16.7.1 Java返回数据的转换 359

16.7.2 内建数据类型 359

16.7.3 Java对象 359

16.7.4 转换对象为MATLAB数据类型 360

16.8 程序设计的例子 362

16.8.1 读URL——URLdemo 362

16.8.2 查找IP地址——resolveip函数 364

16.8.3 经串行端口通信——serialexample程序 366

16.8.4 建立和使用电话簿——phonebook函数 369

第17章 MATLAB与VB和Excel的接口——COM和DDE(仅支持Windows) 382

17.1 概述MATLAB COM 382

17.1.1 概念和术语 382

17.1.2 MATLAB支持的客户程序与服务器程序配置 383

17.1.3 注册控件和服务器程序 386

17.2 建立和操作COM控件和服务器程序的MATLAB函数 389

17.2.1 建立ActiveX控件 389

17.2.2 建立DLL组件和EXE组件的对象——actxserver函数 398

17.2.3 获取对象的接口 400

17.2.4 COM对象的方法或函数 404

17.2.5 对象的属性 410

17.2.6 控件和服务器程序的事件 417

17.2.7 编写事件处理程序(或响应函数) 423

17.2.8 保存和加载COM控件的对象——save和load函数 426

17.2.9 释放COM对象和接口——release和delete函数 427

17.2.10 获取有关COM对象的信息 429

17.2.11 MATLAB与Excel的接口——MATLAB作为自动操作客户程序的例子 430

17.3 自动操作服务器程序 432

17.3.1 建立自动操作的服务器程序 433

17.3.2 VB与MATLAB的接口实例——连接到已存在的MATLAB服务器程序 434

17.3.3 MATLAB服务器程序函数 435

17.4 MATLAB与VB和Excel接口综述 449

17.4.1 MATLAB与VB接口 449

17.4.2 MATLAB与Excel接口 450

17.5 动态数据交换 451

返回顶部