本书是《MATLAB语言应用系列书》之一。全书共分八章,其中前七章在对MATLAB进行简要介绍的基础上,详细而系统地介绍了MATLAB应用程序接口的使用,内容包括如何在MATLAB环境下调用现有的用C语言和FORTRAN语言开发的算法,如何完成C语言和FORTRAN语言应用程序与MATLAB间的数据交换;以及如何在C语言和FORTRAN语言的应用程序中调用MATLAB中的各种函数,包括工具箱函数。同时为了方便用户对MATLAB应用程序接口的使用,书中对MATLAB应用程序接口中所提供的接口函数进行了详细说明。本书第八章在简要分析MATLAB应用程序接口和MATLAB C++数学函数库之间异同的基础上,对MATLAB C++数学函数库进行了简单的介绍,内容包括类 mwArray的说明、阵列对象的操作、库函数及运算符的使用和简单的程序设计。\r\n\r\n 本书可作为高等学校数学、计算机、电子工程、信息工程、机械工程等专业师生的参考教材,对从事上述领域工作的广大科技工作者和开发应用人员具有重要的参考应用价值。\r\n\r\n\r\n
\r\n
第1章 MATLAB系统及程序设计简介 \r\n\r\n 1. 1 MATLAB系统简介 \r\n\r\n 1. 1. 1 MATLAB系统的产生 \r\n\r\n 1. 1. 2 MATLAB系统的构成 \r\n\r\n 1. 1. 3 MATLAB共生产品 \r\n\r\n 1. 2 MATLAB的数据类型 \r\n\r\n 1. 2. 1 MATLAB阵列 \r\n\r\n 1. 2. 2 复杂的MATLAB基本数据类型 \r\n\r\n 1. 2. 3 类(class)和类对象(object) \r\n\r\n 1. 2. 4 阵列与数组 \r\n\r\n 1. 3 MATLAB语言程序设计 \r\n\r\n 1. 3. 1 MATLAB的基本运算符 \r\n\r\n 1. 3. 2 MATLAB的基本语句结构 \r\n\r\n 1. 3. 3 MATLAB控制语句 \r\n\r\n 1. 3. 4 MATLAB M文件的编写 \r\n\r\n 1. 4 基本的MATLAB矩阵操作 \r\n\r\n 1. 4. 1 矩阵的构造 \r\n\r\n 1. 4. 2 矩阵的数学计算 \r\n\r\n 第2章 MATLAB应用程序接口概述 \r\n\r\n 2. 1 MATLAB MEX文件介绍 \r\n\r\n 2. 1. 1 MEX文件概念 \r\n\r\n 2. 1. 2 mx-函数和mex-函数的区别 \r\n\r\n 2. 1. 3 MATLAB阵列在C语言中的声明 \r\n\r\n 2. 1. 4 系统配置 \r\n\r\n 2. 2 MATLAB MAT文件介绍 \r\n\r\n 2. 2. 1 MAT文件的概念. 格式及功能 \r\n\r\n 2. 2. 2 MAT文件的优势 \r\n\r\n 2. 2. 3 系统的配置及MAT文件应用程序的编译 \r\n\r\n 2. 3 MATLAB引擎函数库介绍 \r\n\r\n 2. 3. 1 MATLAB引擎的概念及功能 \r\n\r\n 2. 3. 2 系统的配置及MATLAB引擎应用的编译 \r\n\r\n 2. 4 选项文件说明 \r\n\r\n 2. 4. 1 C语言选项文件 \r\n\r\n 2. 4. 2 FORTRAN语言选项文件 \r\n\r\n 第3章 C语言MEX文件的编写 \r\n\r\n 3. 1 C语言MEX文件 \r\n\r\n 3. 1. 1 一个简单的例子 \r\n\r\n 3. 1. 2 C语言MEX文件源程序的构成 \r\n\r\n 3. 1. 3 C语言MEX文件的执行流程 \r\n\r\n 3. 2 C语言MEX文件的编程 \r\n\r\n 3. 2. 1 C语言MEX文件对字符串的操作 \r\n\r\n 3. 2. 2 包含多个输出的C语言MEX文件 \r\n\r\n 3. 2. 3 C语言MEX文件对MATLAB结构体的操作 \r\n\r\n 3. 2. 4 C语言MEX文件对MATLAB单元阵列的操作 \r\n\r\n 3. 2. 5 C语言MEX文件对不同位数数据的操作 \r\n\r\n 3. 2. 6 C语言MEX文件对复数的操作 \r\n\r\n 3. 2. 7 C语言MEX文件对稀疏矩阵的操作 \r\n\r\n 3. 2. 8 C语言MEX文件对多维阵列的操作 \r\n\r\n 3. 2. 9 C语言MEX文件对MATLAB函数的调用 \r\n\r\n 3. 3 C语言MEX文件的内存管理 \r\n\r\n 3. 3. 1 自动内存释放 \r\n\r\n 3. 3. 2 持久阵列(persistent arrays) \r\n\r\n 3. 3. 3 复合阵列 \r\n\r\n 3. 4 C语言MEX文件的建立 \r\n\r\n 3. 4. 1 C语言MEX文件的建立 \r\n\r\n 3. 4. 2 基于Windows操作系统的C语言MEX文件的建立流程 \r\n\r\n 3. 4. 3 链接多个文件 \r\n\r\n 3. 4. 4 将C语言MEX文件与动态链接库DLLs链接 \r\n\r\n 3. 4. 5 C语言MEX文件的版本信息 \r\n\r\n 3. 5 C语言MEX文件的调试 \r\n\r\n 3. 5. 1 Windows操作系统中C语言MEX文件的调试 \r\n\r\n 3. 5. 2 UNIX操作系统中C语言MEX文件的调试 \r\n\r\n 3. 6 Microsoft Visual C++集成环境中MEX文件的建立 \r\n\r\n 3. 6. 1 Microsoft Visual C++集成环境中建立MEX文件的步骤 \r\n\r\n 3. 6. 2 Microsoft Visual C++集成环境中MEX文件的调试 \r\n\r\n 3. 7 C语言mex-函数 \r\n\r\n 3. 7. 1 C语言mex-函数的声明 \r\n\r\n 3. 7. 2 C语言mex-函数的使用说明 \r\n\r\n 3. 8 C语言mx-函数 \r\n\r\n 3. 8. 1 C语言mx-函数的声明 \r\n\r\n 3. 8. 2 C语言mx-函数的使用说明 \r\n\r\n 第4章 FORTRAN语言MEX文件 \r\n\r\n 4. 1 FORTRAN语言 MEX文件 \r\n\r\n 4. 1. 1 一个简单的例子 \r\n\r\n 4. 1. 2 FORTRAN语言MEX文件源程序的构成 \r\n\r\n 4. 1. 3 指针的概念 \r\n\r\n 4. 1. 4 FORTRAN语言MEX文件的执行流程 \r\n\r\n 4. 2 FORTRAN语言 MEX文件的编程 \r\n\r\n 4. 2. 1 FORTRAN语言 MEX文件对字符串的操作 \r\n\r\n 4. 2. 2 FORTRAN语言MEX文件对矩阵的操作 \r\n\r\n 4. 2. 3 FORTRAN语言MEX文件中对MATLAB函数的调用 \r\n\r\n 4. 2. 4 FORTRAN语言MEX文件对字符串数组的操作 \r\n\r\n 4. 2. 5 包含多个输出的FORTRAN语言METLAB语言MEX文件 \r\n\r\n 4. 2. 6 FORTRAN语言MEX文件对复数阵列的操作 \r\n\r\n 4. 2. 7 FORTRAN语言MEX文件对稀疏矩阵的操作 \r\n\r\n 4. 3 FORTRAN语言MEX文件的建立 \r\n\r\n 4. 3. 1 FORTRAN语言MEX文件的建立 \r\n\r\n 4. 3. 2 基于Windows操作系统的FORTRAN语言MEX文件的建立流程 \r\n\r\n 4. 3. 3 将FORTRAN语言MEX文件与动态链接库DLLs链接 \r\n\r\n 4. 3. 4 语言MEX文件的版本信息 \r\n\r\n 4. 3. 5 链接多个文件 \r\n\r\n 4. 4 FORTRAN语言MEX文件的调试 \r\n\r\n 4. 5 Microsoft FORTRAN PowerStation集成环境中FORTRAN语言MEX文件的建立 \r\n\r\n 4. 5. 1 集成环境中 FORTRAN语言MEX文件的建立步骤 \r\n\r\n 4. 5. 2 集成环境中MEX文件的调试 \r\n\r\n 4. 6 FORTRAN语言 mex-函数 \r\n\r\n 4. 6. 1 FORTRAN语言mex-函数的声明 \r\n\r\n 4. 6. 2 FORTRAN语言mex-函数的使用说明 \r\n\r\n 4. 7 FORTRAN语言mx-函数 \r\n\r\n 4. 7. 1 FORTRAN语言mx-函数的声明 \r\n\r\n 4. 7. 2 FORTRAN语言mx-函数的使用说明 \r\n\r\n 第5章 MAT文件的使用 \r\n\r\n 5. 1 数据的输入和输出 \r\n\r\n 5. 1. 1 向MATLAB输入数据 \r\n\r\n 5. 1. 2 从MATLAB获取数据 \r\n\r\n 5. 2 MAT文件应用程序的编写 \r\n\r\n 5. 2. 1 基于C语言的MAT文件应用程序的编写 \r\n\r\n 5. 2. 2 基于FORTRAN语言的MAT库函数的使用例程 \r\n\r\n 5. 3 MAT文件应用程序的建立和调试 \r\n\r\n 5. 3. 1 C语言MAT文件应用程序的建立和调试 \r\n\r\n 5. 3. 2 FORTRAN语言MAT文件应用程序的建立和调试 \r\n\r\n 6. 4 MAT文件库函数说明 \r\n\r\n 5. 4. 1 C语言MAT文件函数的使用说明 \r\n\r\n 5. 4. 2 FORTRAN语言MAT文件函数的使用说明 \r\n\r\n 第6章 MATLAB引擎函数库的使用 \r\n\r\n 6. 1 MATLAB引擎的使用 \r\n\r\n 6. 1. 1 基于C语言的 MATLAB引擎的使用 \r\n\r\n 6. 1. 2 基于FORTRAN语言的MATLAB引擎的使用 \r\n\r\n 6. 2 MATLAB引擎程序的建立和调试 \r\n\r\n 6. 2. 1 C语言MATLAB引擎程序的建立和调试 \r\n\r\n 6. 2. 2 FORTRAN语言MATLAB引擎程序的建立和调试 \r\n\r\n 6. 3 MATLAB引擎函数 \r\n\r\n 6. 3. 1 C语言引擎函数的使用说明 \r\n\r\n 6. 3. 2 FORTRAN语言引擎函数的使用说明 \r\n\r\n 第7章 客户机/服务器应用程序 \r\n\r\n 7. 1 ActiveX的基本概念 \r\n\r\n 7. 1. 1 ActiveX的诞生 \r\n\r\n 7. 1. 2 ActiveX. OLE和Internet \r\n\r\n 7. 1. 3 ActiveX组件的类型 \r\n\r\n 7. 1. 4 小结 \r\n\r\n 7. 2 MATLAB ActiveX集成 \r\n\r\n 7. 2. 1 MATLAB ActiveX自动化控制器 \r\n\r\n 7. 2. 2 MATLAB自动化服务器 \r\n\r\n 7.3 动态数据交换 \r\n\r\n 7. 3. 1 DDE的基本概念和术语 \r\n\r\n 7. 3. 2 MATLAB的服务器程序功能 \r\n\r\n 7. 3. 3 MATLAB的客户端程序功能 \r\n\r\n 第8章 MATLAB C++数学函数库的使用 \r\n\r\n 8. 1 MATLAB C++数学函数库简介 \r\n\r\n 8. 1. 1 什么是MATLAB C++数学函数库 \r\n\r\n 8. 1. 2 类mwArray \r\n\r\n 8. 1. 3 基于MATLAB C++数学函数库应用程序的建立 \r\n\r\n 8. 2 阵列对象的创建和索引 \r\n\r\n 8. 2. 1 阵列对象的创建 \r\n\r\n 8. 2. 2 阵列对象的索引操作 \r\n\r\n 8. 3 应用程序的编写 \r\n\r\n 8. 3. 1 数学运算符的使用 \r\n\r\n 8. 3. 2 库函数的调用 \r\n\r\n 8. 3. 3 范例程序 \r\n\r\n 8. 3. 4 集成环境中MATLAB C++数学函数库应用程序的建立 \r\n\r\n 参考文献 \r\n\r\n \r\n\r\n \r\n
\r\n
自1984年MathWorks公司首次推出MATLAB V1. 0版本, 到目前为止的MATLAB V5. 3版本, MATLAB采用了开放性开发的思想, 不断吸收各学科领域权威人土所编写的实用程序, 经过不断地发展和扩充, MATLAB现已发展成为国际上最优秀的科技应用软件之一. 其强大的科学计算与可视化功能. 简单易用的开放式可扩展环境以及多达30多个面向不同领域而扩展的工具箱(Toolbox)支持, 包括了通信系统. 信号处理. 图像处理. 小波分析. 鲁棒控制. 系统辨识. 非线性控制. 模糊控制. 神经网络. 优化理论. 样条. 商用统计分析等等大量现代工程技术学科的内容, 使得MATLAB在许多学科领域中成为计算机辅助设计与分析. 算法研究和应用开发的基本工具和首选平台. 在我国, MATLAB已经拥有许多用户, 许多高校陆续开设了有关MATLAB的课程, 清华大学. 华中理工大学等高校的BBS上还专门设立了MATLAB讨论区.
MATLAB应用程序接口(MATLAB Application Program Interface)是MATLAB系统提供的一个非常重要的组件, 通过该接口, 用户可以方便地完成MATLAB与外部环境的交互. MATLAB应用程序接口主要包括三部分内容, 分别为MEX文件——外部程序调用接口, MAT文件应用程序——数据输入输出接口和MATLAB计算引擎函数库, 它们实现的功能分别为
·在MATLAB环境中调用C语言或FORTRAN语言编写的程序, 以提高数据处理的效率,
·向MATLAB环境传送数据或从MATLAB环境接收数据, 即实现MATLAB系统与外部环境的数据交换,
·在MATLAB和其他应用程序间建立客户机/服务器关系, 将MATLAB作为一个计算引擎, 在其他应用程序中调用, 从而降低程序设计的工作量.
MATLAB C/C++数学函数库是MATLAB扩展中的重要组成部分, 其中包含了约400个MATLAB数学函数, 用户按照一定的规则, 可以在C语言和C++语言的应用程序中轻松地调用它们, 用于完成原本非常繁杂的矩阵运算任务, 从而极大地减少程序设计的工作量. 更为重要的是, 使用MATLAB C/C++数学函数库编写的应用程序可以完全脱离MATLAB环境独立地执行, 与MATLAB应用程序接口相比, 这是其最大的优点.
本书的具体组织如下:
第1章对MATLAB进行简要的介绍,
第2章至第7章详细地讲述了MATLAB应用程序接口的使用, 并对所有的库函数进行了说明,
第8章对MATLAB C++数学函数的基本概念及其使用进行了一般的介绍.
本书中第5章的第1. 第2节由张志勇编写, 其余各章均由刘志俭编写.
在本书的编写过程中, 得到了科学出版社鞠丽娜编辑的大力支持, 并为本书的校对作了大量的工作, 在此向她表示衷心的感谢. 同时也要感谢父母和老师多年来对我的培养和教育, 感谢女友刘毅小姐对我的关心和支持, 感谢国防科技大学. 华中理工大学. 上海交通大学和清华大学各位钻研MATLAB的网友们给我的启发.
作者学识有限, 希望读者对书中的错误不吝赐教.
刘志俭
2000年4月
无封面