微信扫一扫,移动浏览光盘
简介
本书主要介绍Matlab与C/C++进行混合程序设计的方法和技巧。书中以Matlab与C/C++混合程序设计涉及的数据类型交换问题为主线,详细介绍了Matlab开发环境和程序设计基础、Matlab编译器、Matlab与C/C++语言的接口、生成独立可执行的Matlab程序、C/C++调用Matlab程序、将Matlab程序编译为COM组件并采用C/C++调用、Matlab 引擎、Matlab C++数学库、Matcom数学库等Matlab与C/C++混合程序设计的内容。
目录
第1章Matlab开发环境和程序设计基础1
1.1本章导读1
1.2Matlab环境1
1.2.1命令行窗口2
1.2.2代码编辑器2
1.2.3工作空间窗口4
1.2.4历史命令窗口4
1.2.5利用Matlab环境的界面操作5
1.2.6Matlab帮助8
1.2.7代码输入提示8
1.3 Matlab语言基础9
1.3.1Matlab脚本文件9
1.3.2Matlab运算符与表达式10
1.3.3Matlab函数13
1.3.4Matlab的向量运算15
1.3.5Matlab的程序控制18
1.3.6面向对象程序设计22
1.4 Matlab常用的数据类型26
1.4.1数值阵列27
1.4.2字符阵列29
1.4.3逻辑阵列30
1.4.4元组阵列31
1.4.5结构体阵列33
1.4.6函数句柄阵列35
1.5 Matlab常用数据显示函数37
1.5.1figure窗口37
1.5.2绘制曲线37
1.5.3显示图像数据38
1.5.4显示三维曲面数据39
第2章Matlab编译器41
2.1本章导读41
2.2 Matlab编译器工作原理41
2.3 Matlab编译器的发展历程42
2.4使用Matlab编译器的准备工作43
2.5 mcc编译器典型应用44
2.5.1独立可执行文件44
2.5.2C动态链接库53
2.5.3C++动态链接库55
2.5.4使用mwArray类57
2.5.5mwArray类操作详细说明58
2.5.6C/C++动态链接库的不同之处63
2.6 mcc命令选项、宏及捆绑命令文件64
2.6.1mcc常用命令选项64
2.6.2mcc宏选项65
2.6.3捆绑命令文件(bundle file)66
2.7 Matlab编译器应用中的常见问题66
2.7.1编译script文件66
2.7.2Matlab 编译器关联分析失效的情况67
2.7.3从C/C++中调用Matlab内置函数(built瞚n function)69
2.7.4可变参数传递(varargin,varargout)69
2.7.5Matlab环境下执行和MCR执行的不同之处71
2.7.6获取ctf文件的目录71
2.7.7屏幕打印和错误信息显示函数72
2.8 Matlab配置工具(Deployment Tool)76
2.9程序发布78
2.9.1MCRInstaller.exe78
2.9.2独立可执行程序发布需要附加的文件78
2.9.3动态链接库发布需要附加的文件79
第3章Matlab与C/C++语言的接口80
3.1本章导读80
3.2 Matlab C/C++编译器的设置(MEX)80
3.3 Matlab中调用C/C++程序睲EX文件81
3.3.1MEX文件用途81
3.3.2MEX文件与M文件的关系82
3.3.3MEX文件实例82
3.3.4MEX文件结构说明83
3.3.5编译MEX文件84
3.3.6采用C++创建MEX文件84
3.4 Matlab与C语言混编常用的数据类型85
3.4.1size_t类型85
3.4.2Matlab C语言接口数据类型86
3.5操作Matlab阵列mxArray的mx函数88
3.5.1数值阵列操作函数88
3.5.2字符串阵列操作函数91
3.5.3逻辑型阵列操作96
3.5.4稀疏矩阵操作函数97
3.5.5结构体操作函数99
3.5.6元组阵列操作函数102
3.5.7类对象阵列属性操作函数103
3.5.8内存操作函数106
3.5.9索引、维数和元素个数操作函数110
3.5.10Is函数112
3.5.11其他操作函数114
3.6 MEX文件专用的mex函数116
3.6.1工作区变量操作116
3.6.2输出警告和错误信息122
3.6.3调用Matlab函数和执行Matlab语句123
3.6.4操作MEX文件126
3.7 Matlab阵列的操作方法与实例129
3.7.1Matlab普通数值阵列129
3.7.2稀疏数组阵列(Sparse Array)131
3.7.3Matlab字符阵列134
3.7.4Matlab元组135
3.7.5Matlab结构体阵列138
3.7.6更改Matlab数值阵列的维数141
3.7.7分析并显示Matlab阵列的内容144
3.8操作Matlab MAT文件的API函数154
3.9 Matlab MAT文件操作方法161
3.9.1向MAT文件中写入mxArray变量161
3.9.2从MAT文件中读取mxArray变量164
3.9.3同时操作MAT文件与Matlab阵列167
3.10在Visual C++中调试MEX文件174
3.10.1利用VC++6.0调试MEX文件174
3.10.2利用VC++ 2010调试MEX文件178
第4章 生成可独立运行的Matlab程序181
4.1本章导读181
4.2 Matlab编译可独立执行程序181
4.2.1直接编译m文件181
4.2.2Matlab M文件中调用C/C++函数182
4.2.3在C/C++语言调用由Matlab *.m文件生成的函数184
4.2.4利用VC++编译m文件接口函数,并去掉控制台窗口190
第5章C/C++通过引擎和动态链接库调用Matlab程序220
5.1本章导读220
5.2在VC++中调用Matlab引擎220
5.2.1 API函数介绍220
5.2.2VC调用Matlab引擎的实例221
5.3 VC++中调用Matlab *.m函数编译后的动态链接库229
第6章C/C++通过COM组件调用Matlab程序241
6.1本章导读241
6.2 COM基础知识241
6.2.1COM组件概述241
6.2.2COM组件开发的基础知识242
6.3 Matlab编译COM组件基础知识247
6.3.1配置Matlab C/C++编译器247
6.3.2使用Matlab DeploymentTool248
6.3.3实现COM组件的方法249
6.3.4实现COM组件的属性249
6.3.5编译COM组件250
6.4 C/C++调用DeplomentTool生成的组件250
6.5 Matlab COM组件与C/C++之间的数据转换258
6.5.1VARIANT数据类型258
6.5.2COleVariant和_variant_t260
6.5.3SAFEARRAY数据类型260
6.5.4SAFEARRAY创建函数261
6.5.5Matlab数据类型的VARIANT类型表示262
6.5.6VARIANT变量和Matlab 阵列的转换规则263
6.5.7阵列格式标志(Array Formatting Flags)265
6.5.8数据转换标志(Data Conversion Flags)266
6.6 Matlab COM 工具库267
6.6.1简介267
6.6.2MWUtil267
6.6.3MWFlags268
6.6.4MWStruct 类269
6.6.5MWField类271
6.6.6MWComplex类272
6.6.7MWSparse类272
6.6.8MWArg类273
6.6.9Matlab MWComUtil的枚举类型273
6.7安装和发布Matlab COM组件275
6.8综合实例276
6.8.1实例1—数据转换及数组格式标志的使用276
6.8.2实例2—采用MWUtil处理varargin输入、varargout输出279
6.8.3实例3—MWStruct和MWField操作实例282
6.8.4实例4—MWComplex操作实例291
6.8.5实例5——MWSParse操作实例294
第7章C/C++调用Matcom数学库297
7.1本章导读297
7.2 Matcom与Matlab297
7.3安装Matcom297
7.4在Visual C++中使用Matcom C++ 矩阵库299
7.5使用Matcom Matrix C++矩阵库的矩阵类Mm304
7.5.1创建数值矩阵304
7.5.2创建字符矩阵305
7.5.3利用下标访问矩阵的元素305
7.5.4获取矩阵数据的指针306
7.5.5Mm矩阵对象的初始化307
7.5.6Mm矩阵类的几个常用函数307
7.5.7Matcom C++矩阵库常量309
7.5.8调用系统函数310
7.6 Matcom矩阵库的图形和图像显示功能311
7.7 Matcom用于图形显示的常用函数313
7.8 Matcom进行图像显示的常用函数314
7.9 Matcom的应用实例314
7.9.1实例1—Matcom Mm矩阵的创建及使用314
7.9.2实例2—图形绘制的基本功能演示318
7.9.3实例3—利用Matcom绘制动态曲线323
7.9.4实例4—Matcom进行图像显示335
7.9.5实例5—Matcom二维和三维曲线绘制综合应用346
第8章C/C++调用Matlab C++数学库360
8.1本章导读360
8.2 Matlab C++ 数学库360
8.3在Visual C++工程中调用Matlab C++数学库360
8.4 Matlab C++数学库的使用362
8.4.1输入/输出矩阵362
8.4.2操作Matlab mwArray阵列367
附录 动态链接库基础知识394
A.1为什么使用动态链接库?394
A.2 C/C++语言实现动态链接库395
A.3 C/C++语言动态链接库的不同397
A.4动态链接库的调用方式398
A.4.1隐式链接398
A.4.2显式链接399
1.1本章导读1
1.2Matlab环境1
1.2.1命令行窗口2
1.2.2代码编辑器2
1.2.3工作空间窗口4
1.2.4历史命令窗口4
1.2.5利用Matlab环境的界面操作5
1.2.6Matlab帮助8
1.2.7代码输入提示8
1.3 Matlab语言基础9
1.3.1Matlab脚本文件9
1.3.2Matlab运算符与表达式10
1.3.3Matlab函数13
1.3.4Matlab的向量运算15
1.3.5Matlab的程序控制18
1.3.6面向对象程序设计22
1.4 Matlab常用的数据类型26
1.4.1数值阵列27
1.4.2字符阵列29
1.4.3逻辑阵列30
1.4.4元组阵列31
1.4.5结构体阵列33
1.4.6函数句柄阵列35
1.5 Matlab常用数据显示函数37
1.5.1figure窗口37
1.5.2绘制曲线37
1.5.3显示图像数据38
1.5.4显示三维曲面数据39
第2章Matlab编译器41
2.1本章导读41
2.2 Matlab编译器工作原理41
2.3 Matlab编译器的发展历程42
2.4使用Matlab编译器的准备工作43
2.5 mcc编译器典型应用44
2.5.1独立可执行文件44
2.5.2C动态链接库53
2.5.3C++动态链接库55
2.5.4使用mwArray类57
2.5.5mwArray类操作详细说明58
2.5.6C/C++动态链接库的不同之处63
2.6 mcc命令选项、宏及捆绑命令文件64
2.6.1mcc常用命令选项64
2.6.2mcc宏选项65
2.6.3捆绑命令文件(bundle file)66
2.7 Matlab编译器应用中的常见问题66
2.7.1编译script文件66
2.7.2Matlab 编译器关联分析失效的情况67
2.7.3从C/C++中调用Matlab内置函数(built瞚n function)69
2.7.4可变参数传递(varargin,varargout)69
2.7.5Matlab环境下执行和MCR执行的不同之处71
2.7.6获取ctf文件的目录71
2.7.7屏幕打印和错误信息显示函数72
2.8 Matlab配置工具(Deployment Tool)76
2.9程序发布78
2.9.1MCRInstaller.exe78
2.9.2独立可执行程序发布需要附加的文件78
2.9.3动态链接库发布需要附加的文件79
第3章Matlab与C/C++语言的接口80
3.1本章导读80
3.2 Matlab C/C++编译器的设置(MEX)80
3.3 Matlab中调用C/C++程序睲EX文件81
3.3.1MEX文件用途81
3.3.2MEX文件与M文件的关系82
3.3.3MEX文件实例82
3.3.4MEX文件结构说明83
3.3.5编译MEX文件84
3.3.6采用C++创建MEX文件84
3.4 Matlab与C语言混编常用的数据类型85
3.4.1size_t类型85
3.4.2Matlab C语言接口数据类型86
3.5操作Matlab阵列mxArray的mx函数88
3.5.1数值阵列操作函数88
3.5.2字符串阵列操作函数91
3.5.3逻辑型阵列操作96
3.5.4稀疏矩阵操作函数97
3.5.5结构体操作函数99
3.5.6元组阵列操作函数102
3.5.7类对象阵列属性操作函数103
3.5.8内存操作函数106
3.5.9索引、维数和元素个数操作函数110
3.5.10Is函数112
3.5.11其他操作函数114
3.6 MEX文件专用的mex函数116
3.6.1工作区变量操作116
3.6.2输出警告和错误信息122
3.6.3调用Matlab函数和执行Matlab语句123
3.6.4操作MEX文件126
3.7 Matlab阵列的操作方法与实例129
3.7.1Matlab普通数值阵列129
3.7.2稀疏数组阵列(Sparse Array)131
3.7.3Matlab字符阵列134
3.7.4Matlab元组135
3.7.5Matlab结构体阵列138
3.7.6更改Matlab数值阵列的维数141
3.7.7分析并显示Matlab阵列的内容144
3.8操作Matlab MAT文件的API函数154
3.9 Matlab MAT文件操作方法161
3.9.1向MAT文件中写入mxArray变量161
3.9.2从MAT文件中读取mxArray变量164
3.9.3同时操作MAT文件与Matlab阵列167
3.10在Visual C++中调试MEX文件174
3.10.1利用VC++6.0调试MEX文件174
3.10.2利用VC++ 2010调试MEX文件178
第4章 生成可独立运行的Matlab程序181
4.1本章导读181
4.2 Matlab编译可独立执行程序181
4.2.1直接编译m文件181
4.2.2Matlab M文件中调用C/C++函数182
4.2.3在C/C++语言调用由Matlab *.m文件生成的函数184
4.2.4利用VC++编译m文件接口函数,并去掉控制台窗口190
第5章C/C++通过引擎和动态链接库调用Matlab程序220
5.1本章导读220
5.2在VC++中调用Matlab引擎220
5.2.1 API函数介绍220
5.2.2VC调用Matlab引擎的实例221
5.3 VC++中调用Matlab *.m函数编译后的动态链接库229
第6章C/C++通过COM组件调用Matlab程序241
6.1本章导读241
6.2 COM基础知识241
6.2.1COM组件概述241
6.2.2COM组件开发的基础知识242
6.3 Matlab编译COM组件基础知识247
6.3.1配置Matlab C/C++编译器247
6.3.2使用Matlab DeploymentTool248
6.3.3实现COM组件的方法249
6.3.4实现COM组件的属性249
6.3.5编译COM组件250
6.4 C/C++调用DeplomentTool生成的组件250
6.5 Matlab COM组件与C/C++之间的数据转换258
6.5.1VARIANT数据类型258
6.5.2COleVariant和_variant_t260
6.5.3SAFEARRAY数据类型260
6.5.4SAFEARRAY创建函数261
6.5.5Matlab数据类型的VARIANT类型表示262
6.5.6VARIANT变量和Matlab 阵列的转换规则263
6.5.7阵列格式标志(Array Formatting Flags)265
6.5.8数据转换标志(Data Conversion Flags)266
6.6 Matlab COM 工具库267
6.6.1简介267
6.6.2MWUtil267
6.6.3MWFlags268
6.6.4MWStruct 类269
6.6.5MWField类271
6.6.6MWComplex类272
6.6.7MWSparse类272
6.6.8MWArg类273
6.6.9Matlab MWComUtil的枚举类型273
6.7安装和发布Matlab COM组件275
6.8综合实例276
6.8.1实例1—数据转换及数组格式标志的使用276
6.8.2实例2—采用MWUtil处理varargin输入、varargout输出279
6.8.3实例3—MWStruct和MWField操作实例282
6.8.4实例4—MWComplex操作实例291
6.8.5实例5——MWSParse操作实例294
第7章C/C++调用Matcom数学库297
7.1本章导读297
7.2 Matcom与Matlab297
7.3安装Matcom297
7.4在Visual C++中使用Matcom C++ 矩阵库299
7.5使用Matcom Matrix C++矩阵库的矩阵类Mm304
7.5.1创建数值矩阵304
7.5.2创建字符矩阵305
7.5.3利用下标访问矩阵的元素305
7.5.4获取矩阵数据的指针306
7.5.5Mm矩阵对象的初始化307
7.5.6Mm矩阵类的几个常用函数307
7.5.7Matcom C++矩阵库常量309
7.5.8调用系统函数310
7.6 Matcom矩阵库的图形和图像显示功能311
7.7 Matcom用于图形显示的常用函数313
7.8 Matcom进行图像显示的常用函数314
7.9 Matcom的应用实例314
7.9.1实例1—Matcom Mm矩阵的创建及使用314
7.9.2实例2—图形绘制的基本功能演示318
7.9.3实例3—利用Matcom绘制动态曲线323
7.9.4实例4—Matcom进行图像显示335
7.9.5实例5—Matcom二维和三维曲线绘制综合应用346
第8章C/C++调用Matlab C++数学库360
8.1本章导读360
8.2 Matlab C++ 数学库360
8.3在Visual C++工程中调用Matlab C++数学库360
8.4 Matlab C++数学库的使用362
8.4.1输入/输出矩阵362
8.4.2操作Matlab mwArray阵列367
附录 动态链接库基础知识394
A.1为什么使用动态链接库?394
A.2 C/C++语言实现动态链接库395
A.3 C/C++语言动态链接库的不同397
A.4动态链接库的调用方式398
A.4.1隐式链接398
A.4.2显式链接399
精通Matlab与C/C++混合程序设计
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!