《精通MATLAB与CC++混合程序设计(第4版)》低价购书 |
您所在的位置:网站首页 › 精通MATLAB第三版 › 《精通MATLAB与CC++混合程序设计(第4版)》低价购书 |
《精通MATLAB与CC++混合程序设计(第4版)》结合大量实例,系统全面地介绍了MATLAB与C/C++进行混合程序设计的方法和技巧。全书共分六部分22章。第一部分重点介绍MATLAB与C/C++混合程序设计基础。第二部分重点介绍MATLAB中调用C/C++程序的方法。第三部分重点介绍MATLAB与C/C++语言之间的数据和函数接口。第四部分重点介绍MATLAB编译器的工作原理、发展历程和应用技巧等。第五部分重点介绍C/C++程序中调用MATLAB程序的方法。第六部分重点介绍与MATLAB关系密切的数学库的使用方法。 本书涵盖了MATLAB与C/C++混合程序设计的各个方面,内容由浅入深,并辅以大量实战型的实例程序,可供大中专院校学生作为教材使用,也可供相关领域工程师与科学家参考。 第一部分 MATLAB与C/C++混合程序设计基础 第1章 MATLABM 语言程序设计基础 …………………………… 3 1.1 本章导读 ………………………………………………………………………3 1.2 MATLAB环境 ………………………………………………………………3 1.2.1 命令行窗口(CommandWindow)……………………………………… 4 1.2.2 代码编辑器(Editor) ……………………………………………………6 1.2.3 工作空间窗口(Workspace) ……………………………………………9 1.2.4 历史命令窗口(CommandHistory)…………………………………… 9 1.2.5 历史命令保存指令(diary) ……………………………………………12 1.2.6 使用 MATLAB环境的图形界面完成操作…………………………… 12 1.2.7 MATLAB帮助 …………………………………………………………16 1.2.8 代码输入提示……………………………………………………………17 1.3 MATLABM 语言基础………………………………………………………18 1.3.1 MATLAB脚本文件(Script文件)…………………………………… 18 1.3.2 MATLAB运算符与表达式 ……………………………………………20 1.3.3 MATLAB函数 …………………………………………………………24 1.3.4 MATLABM 语言中的向量运算………………………………………26 1.3.5 MATLAB的程序控制 …………………………………………………32 1.3.6 MATLAB程序异常处理 ………………………………………………36 1.3.7 面向对象的程序设计……………………………………………………37 1.4 MATLAB常用的数据类型 …………………………………………………41 1.4.1 数值阵列…………………………………………………………………42 1.4.2 字符阵列…………………………………………………………………45 1.4.3 逻辑阵列…………………………………………………………………46 1.4.4 元组阵列…………………………………………………………………47 1.4.5 结构体阵列………………………………………………………………50 1.4.6 函数句柄阵列……………………………………………………………52 1.5 MATLAB常用数据可视化功能…………………………………………… 54 1.5.1 使用figure函数创建图形窗口 ……………………………………… 54 1.5.2 绘制曲线…………………………………………………………………55 1.5.3 使用area函数绘制面积图 …………………………………………… 61 1.5.4 使用quiver或quiver3函数绘制向量图 ………………………………66 1.5.5 显示图像数据……………………………………………………………68 1.5.6 显示三维曲面数据………………………………………………………69 第2章 C语言和C++语言程序设计基础…………………………71 2.1 本章导读………………………………………………………………………71 2.2 编译环境………………………………………………………………………71 2.3 编辑器…………………………………………………………………………72 2.4 注 释…………………………………………………………………………73 2.5 文件包含(include) ………………………………………………………… 74 2.6 定义和声明……………………………………………………………………74 2.7 第一个C/C++语言程序 …………………………………………………75 2.8 编译和运行……………………………………………………………………77 2.9 数据类型………………………………………………………………………78 2.9.1 常 量……………………………………………………………………78 2.9.2 变 量……………………………………………………………………78 2.9.3 指 针……………………………………………………………………79 2.9.4 内存的分配与释放………………………………………………………82 2.9.5 数 组……………………………………………………………………82 2.9.6 字符串……………………………………………………………………84 2.9.7 枚举类型…………………………………………………………………86 2.9.8 结构体……………………………………………………………………87 2.10 操作符 ………………………………………………………………………88 2.11 程序结构 ……………………………………………………………………91 2.12 类与对象 ……………………………………………………………………97 2.13 函数模板和类模板…………………………………………………………104 2.14 C++/CLI ………………………………………………………………114 第3章 MATLAB与C/C++语言对照 ………………………… 117 3.1 本章导读 ……………………………………………………………………117 3.2 MATLAB语言 ……………………………………………………………117 3.3 C语言 ………………………………………………………………………122 3.4 C++语言 …………………………………………………………………130 3.5 MATLAB语言、C语言和C++语言实现矩阵操作的比较…………… 139 第4章 动态链接库基础 …………………………………………………142 4.1 本章导读 ……………………………………………………………………142 4.2 为什么使用动态链接库 ……………………………………………………142 4.3 C/C++语言实现动态链接库…………………………………………… 143 4.4 C语言与C++语言动态链接库的差异 ………………………………… 147 4.5 动态链接库的调用方式 ……………………………………………………147 4.5.1 隐式链接 ………………………………………………………………147 4.5.2 显式链接 ………………………………………………………………149 4.6 在 MATLAB环境下创建动态链接库 …………………………………… 152 第5章 开发与调试环境说明………………………………………… 154 5.1 本章导读 ……………………………………………………………………154 5.2 MATLAB环境 ……………………………………………………………154 5.3 MATLABCoder图形界面 ………………………………………………155 5.4 MATLAB编译器 …………………………………………………………155 5.5 mex命令 ……………………………………………………………………156 5.6 mbuild命令 …………………………………………………………………158 5.7 C/C++语言集成开发环境……………………………………………… 160 5.8 Dependency工具 ……………………………………………………………163 第二部分 在MATLAB中调用C/C++程序 第6章 MATLAB通过 MEX文件调用C/C++程序……… 167 6.1 本章导读 ……………………………………………………………………167 6.2 MEX文件 ………………………………………………………………… 167 6.3 MEX文件与 M 文件的关系 ……………………………………………… 168 6.4 MEX文件实例 ……………………………………………………………168 6.5 MEX文件结构 ……………………………………………………………170 6.6 编译 MEX文件 …………………………………………………………… 171 6.7 采用C++语言创建 MEX文件 …………………………………………172 6.8 在 MEX文件中实现图形界面功能 ……………………………………… 173 6.9 在 VisualC++中调试 MEX文件 ……………………………………… 179 6.9.1 利用VisualC++6.0调试 MEX文件 …………………………… 179 6.9.2 利用VisualC++2010调试 MEX文件…………………………… 184 第7章 MATLAB通过动态链接库调用C/C++程序 …… 188 7.1 本章导读 ……………………………………………………………………188 7.2 动态链接库 …………………………………………………………………188 7.3 MATLAB动态链接库的基本操作……………………………………… 189 7.3.1 加载动态链接库 ………………………………………………………189 7.3.2 查看动态链接库信息 …………………………………………………190 7.3.3 利用 mbuild生成动态链接库………………………………………… 191 7.3.4 调用动态链接库中包含的函数 ………………………………………194 7.4 MATLAB动态链接库的操作函数……………………………………… 195 7.4.1 loadlibrary ……………………………………………………………195 7.4.2 unloadlibrary …………………………………………………………197 7.4.3 libfunctions……………………………………………………………197 7.4.4 libfunctionsview ……………………………………………………198 7.4.5 libisloaded ……………………………………………………………198 7.4.6 calllib …………………………………………………………………198 7.4.7 libpointer………………………………………………………………199 7.4.8 libstruct ………………………………………………………………199 7.5 MATLAB与动态链接库的参数传递和转换…………………………… 200 7.5.1 MATLAB与C/C++语言数据类型的对照关系………………… 200 7.5.2 MATLAB与动态链接库基本参数的直接传递…………………… 201 7.5.3 利用libpointer传递指针参数 ……………………………………… 203 7.5.4 传递 MATLAB阵列类型数据 ……………………………………… 208 7.5.5 利用libstruct传递结构体参数 ……………………………………… 210 7.5.6 传递枚举类型参数 ……………………………………………………212 7.6 实例1:调用第三方提供的动态链接库完成文件读取 …………………… 213 7.7 实例2:用户创建动态链接库完成文件操作 ……………………………… 215 第8章 MATLAB通过可执行程序调用C/C++程序 …… 221 8.1 本章导读 ……………………………………………………………………221 8.2 在 MATLAB中执行外部程序 …………………………………………… 221 8.3 实例1:通过外部程序返回文件信息 ……………………………………… 222 8.4 实例2:通过外部程序转换文件格式 ……………………………………… 227 第9章 MATLAB通过ActiveX调用C/C++程序 ………… 233 9.1 本章导读 ……………………………………………………………………233 9.2 ActiveX简介 ………………………………………………………………233 9.3 MATLAB调用ActiveX组件 …………………………………………… 234 9.4 实例:调用ActiveX打开文件………………………………………………239 第三部分 MATLAB 与C/C++语言的数据和函数接口 第10章 MATLAB与C/C++语言混合编程 常用的数据类型 ……………………………………………… 245 10.1 本章导读……………………………………………………………………245 10.2 size_t类型 …………………………………………………………………245 10.3 mwIndex,mwSignedIndex和 mwSize类型 …………………………… 245 10.4 mxChar和 mxLogical类型 ……………………………………………… 246 10.5 mxClassID类型……………………………………………………………246 10.6 mxComplexity类型 ………………………………………………………247 10.7 mxArray类型 ……………………………………………………………248 10.8 特殊常量……………………………………………………………………248 10.9 mwArray类 ………………………………………………………………250 10.9.1 mwArray类的基本操作 ……………………………………………251 10.9.2 mwArray类操作的详细说明……………………………………… 252 10.10 mwString类………………………………………………………………258 第11章 在C/C++语言中操作 MATLAB阵列的函数 … 260 11.1 本章导读……………………………………………………………………260 11.2 数值阵列操作函数…………………………………………………………260 11.2.1 创建数值阵列………………………………………………………260 11.2.2 数值阵列的数据操作…………………………………………………262 11.2.3 标量数据的操作………………………………………………………264 11.3 字符串阵列操作函数………………………………………………………264 11.3.1 创建字符串阵列………………………………………………………264 11.3.2 字符串阵列转换为C语言字符串 ………………………………… 266 11.3.3 获取字符阵列的数据…………………………………………………269 11.4 逻辑型阵列操作函数………………………………………………………269 11.5 稀疏矩阵操作函数…………………………………………………………270 11.5.1 创建稀疏矩阵的操作函数……………………………………………271 11.5.2 稀疏矩阵索引的操作函数……………………………………………271 11.6 结构体操作函数……………………………………………………………273 11.6.1 创建结构体……………………………………………………………273 11.6.2 结构体域的操作………………………………………………………274 11.7 元组阵列操作函数…………………………………………………………276 11.8 类对象阵列属性操作函数…………………………………………………278 11.9 内存操作函数………………………………………………………………281 11.9.1 内存分配操作函数……………………………………………………281 11.9.2 内存释放操作函数……………………………………………………282 11.9.3 阵列复制操作函数……………………………………………………283 11.9.4 MATLAB内存操作函数与C语言内存操作函数对比…………… 283 11.10 索引、维数和元素个数操作函数…………………………………………285 11.10.1 线性索引函数 ……………………………………………………285 11.10.2 维数和元素个数操作函数 ………………………………………286 11.11 MATLAB阵列验证函数(Is函数) ……………………………………288 11.11.1 判断 MATLAB阵列类型 ………………………………………… 288 11.11.2 其他Is函数 …………………………………………………………290 11.12 其他操作函数 ……………………………………………………………291 第12章 在C/C++语言中操作 MATLAB阵列的方法 … 293 12.1 本章导读……………………………………………………………………293 12.2 MATLAB普通数值阵列的操作………………………………………… 293 12.3 稀疏数组阵列(SparseArray)的操作 …………………………………… 295 12.4 MATLAB字符阵列的操作 ………………………………………………299 12.5 MATLAB元组阵列的操作 ………………………………………………300 12.6 MATLAB结构体阵列的操作…………………………………………… 302 12.7 更改 MATLAB数值阵列的维数………………………………………… 305 12.8 分析并显示 MATLAB阵列的内容……………………………………… 309 第13章 C/C++语言在 MEX程序中的专用接口函数…… 320 13.1 本章导读……………………………………………………………………320 13.2 工作区变量操作函数………………………………………………………320 13.3 输出警告和错误信息函数…………………………………………………327 13.4 调用 MATLAB函数和执行 MATLAB命令的函数……………………328 13.5 操作 MEX文件函数 ……………………………………………………… 331 第14章 在C/C++程序中操作 MATLABMAT文件 …… 335 14.1 本章导读……………………………………………………………………335 14.2 MAT文件概要介绍 ………………………………………………………335 14.3 MAT文件格式 ……………………………………………………………336 14.4 操作 MAT文件的 mat API函数 ………………………………………339 14.4.1 MAT文件打开和关闭等操作函数………………………………… 340 14.4.2 循环获取 MAT文件中的变量及其信息…………………………… 341 14.4.3 获取 MAT文件中的变量目录和变量及其信息…………………… 342 14.4.4 将阵列写入 MAT文件或删除 MAT文件中的变量 ……………… 342 14.5 MAT文件操作方法 ………………………………………………………343 14.5.1 向 MAT文件中写入 mxArray变量 ………………………………343 14.5.2 从 MAT文件中读取 mxArray变量 ………………………………348 14.5.3 查看 MAT文件中的阵列变量列表………………………………… 352 14.5.4 遍历 MAT文件中的所有阵列变量………………………………… 354 第四部分 MATLAB编译器的工作原理、发展历程和应用技巧 第15章 MATLAB编译器……………………………………………… 359 15.1 本章导读……………………………………………………………………359 15.2 MATLAB编译器的工作原理…………………………………………… 359 15.3 MATLAB编译器的发展历程…………………………………………… 360 15.4 使用 MATLAB编译器的准备工作……………………………………… 362 15.5 mcc编译器的典型应用:独立可执行文件 ……………………………… 363 15.5.1 编译过程………………………………………………………………363 15.5.2 编译过程详细分析…………………………………………………366 15.5.3 img.ctf文件 ………………………………………………………367 15.5.4 img_main.c文件 ……………………………………………………368 15.5.5 使用 m选项 …………………………………………………………373 15.6 C语言动态链接库…………………………………………………………374 15.6.1 编译过程………………………………………………………………374 15.6.2 编译过程详细分析……………………………………………………374 15.7 C++语言动态链接库 ……………………………………………………376 15.7.1 编译过程………………………………………………………………376 15.7.2 编译过程详细分析……………………………………………………376 15.8 C语言与C++语言动态链接库的差异 ………………………………… 378 15.9 调用MATLAB编译器生成的C/C++语言动态链接库时常用的接口函数……………………………………………………………………379 15.10 mcc命令选项、宏及捆绑命令文件………………………………………381 15.10.1 mcc常用命令选项 …………………………………………………381 15.10.2 mcc宏选项 …………………………………………………………383 15.10.3 捆绑命令文件(bundlefile) ……………………………………384 15.11 MATLAB编译器应用中的常见问题………………………………… 385 15.11.1 编译Script文件 …………………………………………………385 15.11.2 MATLAB编译器关联分析失效的情况………………………… 385 15.11.3 在C/C++程序中调用MATLAB内置函数(builtGinfunction) 388 15.11.4 可变参数传递(varargin,varargout)……………………………388 15.11.5 在 MATLAB环境下执行与通过 MCR执行时的差异 ………… 390 15.11.6 获取CTF文件的目录……………………………………………… 391 15.11.7 屏幕打印和错误信息显示函数 …………………………………391 15.12 MATLAB配置工具(DeploymentTool)……………………………… 396 15.12.1 DeploymentTool工具简介 ………………………………………396 15.12.2 利用 MATLAB配置工具编译独立可执行文件 ………………… 397 15.13 程序发布 …………………………………………………………………399 15.13.1 MCR版本 …………………………………………………………399 15.13.2 安装 MCR ………………………………………………………… 399 15.13.3 独立可执行文件发布需要附加的文件 …………………………400 15.13.4 动态链接库发布需要附加的文件 ………………………………400 第五部分 在C/C++程序中调用MATLAB程序 第16章 生成可独立运行的MATLAB程序 ……………………403 16.1 本章导读……………………………………………………………………403 16.2 MATLAB环境下编译独立可执行文件………………………………… 403 16.2.1 直接编译 M 文件 ……………………………………………………403 16.2.2 在 MATLABM 文件中调用C/C++函数 ……………………… 404 16.2.3 在C/C++语言中调用由 MATLAB.m文件生成的函数 …… 407 16.3 VisualC++环境下编译独立可执行文件……………………………… 413 16.3.1 趣味弹球 MATLABM 程序 ……………………………………… 414 16.3.2 去除控制台窗口………………………………………………………418 16.3.3 去除控制台窗口的另一种方法………………………………………426 16.3.4 将输出改到 Windows窗口上 ……………………………………… 433 第17章 C/C++程序通过引擎和动态链接库调用MATLAB程序 ………………………………………………… 447 17.1 本章导读……………………………………………………………………447 17.2 在C++程序中调用 MATLAB引擎 ……………………………………447 17.2.1 API函数介绍…………………………………………………………447 17.2.2 VisualC++调用 MATLAB引擎的实例 ………………………… 448 17.3 VisualC++中调用 MATLABM 函数编译后的动态链接库………… 458 第18章 C/C++程序通过COM 组件调用MATLAB程序 ………………………………………………………………………… 471 18.1 本章导读……………………………………………………………………471 18.2 COM 基础知识 ……………………………………………………………471 18.2.1 COM 组件 ……………………………………………………………471 18.2.2 对象和接口……………………………………………………………472 18.2.3 COM 在 Windows平台下的实现方式 …………………………… 473 18.3 在 VisualC++中调用COM 组件 ……………………………………… 475 18.3.1 COM 组件与 HRESULT类型 …………………………………… 475 18.3.2 COM 组件与字符串 …………………………………………………476 18.3.3 CLSID和ProgID的相互转换 ……………………………………… 476 18.3.4 AddRef(),Release(),QueryInterface()接口函数………………476 18.3.5 在VisualC++中调用COM 组件的步骤 ………………………… 477 18.4 MATLAB编译COM 组件的基础知识 ………………………………… 479 18.4.1 配置 MATLABC/C++语言编译器 ………………………………479 18.4.2 使用 MATLAB的DeploymentTool工具…………………………479 18.4.3 实现COM 组件的方法 ……………………………………………… 480 18.4.4 实现COM 组件的属性 ……………………………………………… 481 18.4.5 编译COM 组件 ……………………………………………………… 481 18.5 C/C++程序调用由DeploymentTool生成的组件 …………………… 482 18.6 MATLABCOM 组件与C/C++程序之间的数据转换 ……………… 489 18.6.1 VARIANT数据类型 ………………………………………………489 18.6.2 COleVariant和_variant_t类 ………………………………………491 18.6.3 SAFEARRAY数据类型 ……………………………………………492 18.6.4 SAFEARRAY的创建函数 …………………………………………493 18.6.5 MATLAB数据类型的VARIANT类型表示 …………………… 494 18.6.6 VARIANT变量与 MATLAB阵列的转换规则 ………………… 495 18.6.7 阵列格式标志(arrayformattingflags)……………………………498 18.6.8 数据转换标志(dataconversionflags) ……………………………498 18.7 MATLABCOM 工具库 …………………………………………………500 18.7.1 简 介…………………………………………………………………500 18.7.2 MWUtil类……………………………………………………………500 18.7.3 MWFlags类 …………………………………………………………501 18.7.4 MWStruct类…………………………………………………………502 18.7.5 MWField类 ………………………………………………………… 505 18.7.6 MWComplex类………………………………………………………506 18.7.7 MWSparse类…………………………………………………………506 18.7.8 MWArg类……………………………………………………………507 18.7.9 MATLABMWComUtil的枚举类型 ………………………………507 18.8 安装和发布 MATLABCOM 组件 ……………………………………… 509 18.9 综合实例……………………………………………………………………510 18.9.1 实例1:数据转换及数组格式标志的使用 ……………………… 510 18.9.2 实例2:采用 MWUtil处理varargin输入和varargout输出 …… 514 18.9.3 实例3:MWStruct和 MWField的操作实例 ……………………… 519 18.9.4 实例4:MWComplex操作实例 ……………………………………528 18.9.5 实例5:MWSParse操作实例 ………………………………………532 第19章 C/C++程序通过.NET 配件调用MATLAB程序…… 536 19.1 本章导读……………………………………………………………………536 19.2 将 MATLAB程序编译为.NET配件 ……………………………………536 19.3 在 VisualC++2010中调用.NET配件 ………………………………537 19.4 VisualC++与 MATLAB之间的数据转换……………………………… 539 19.5 使用 MWNumericArray操作数值阵列 ………………………………… 540 19.5.1 数值阵列的类型………………………………………………………540 19.5.2 C++索引与 MATLAB阵列索引 ………………………………… 541 19.5.3 实型阵列和复型阵列…………………………………………………541 19.5.4 创建标量……………………………………………………………542 19.5.5 创建矢量………………………………………………………………543 19.5.6 创建矩阵………………………………………………………………545 19.5.7 创建任意维数的数值阵列…………………………………………547 19.6 使用 MWCharArray操作字符阵列……………………………………… 549 19.7 使用 MWLogicalArray操作逻辑阵列 ………………………………… 551 19.8 使用 MWStructArray操作结构体阵列 ………………………………… 552 19.9 使用 MWCellArray操作元组阵列 ……………………………………… 553 第20章 将 MATLABM 程序转换为C/C++程序………… 555 20.1 本章导读……………………………………………………………………555 20.2 MATLABCoder的功能 …………………………………………………555 20.3 MATLABCoder对 MATLABM 语言代码的约束 …………………… 556 20.4 第一个实例…………………………………………………………………557 20.4.1 实例说明………………………………………………………………557 20.4.2 基本原理………………………………………………………………558 20.4.3 代码实现………………………………………………………………559 20.4.4 实例执行结果…………………………………………………………567 20.4.5 生成C/C++代码 …………………………………………………569 20.5 MATLABCoder图形界面 ………………………………………………569 20.6 codegen命令 ………………………………………………………………571 20.7 MATLABCoder的典型应用 ……………………………………………573 20.7.1 将 MATLABM 程序转换为C/C++代码 ……………………… 573 20.7.2 将 MATLABM 程序转换为 MEX文件……………………………575 20.7.3 将 MATLABM 程序编译为可执行文件 ………………………… 575 20.7.4 将 MATLABM 程序编译为动态链接库 ………………………… 576 20.8 用 MATLABCoder转换后的C/C++代码中的数据类型……………576 20.8.1 变量类型定义……………………………577 20.8.2 强制类型转换…………………………………………………………577 20.8.3 基本类型定义………………………………………………………578 20.8.4 复数类型………………………………………………………………580 20.8.5 固定长度变量与可变长度变量………………………………………582 20.8.6 结构体类型……………………………………………………………587 第六部分 与MATLAB相关的数学库 第21章 C/C++程序调用Matcom矩阵库 ……………………… 593 21.1 本章导读……………………………………………………………………593 21.2 Matcom与 MATLAB …………………………………………………… 593 21.3 安装 Matcom ……………………………………………………………… 593 21.4 在 VisualC++中使用 MatcomC++矩阵库 ………………………… 595 21.5 使用 MatcomC++矩阵库的矩阵类 Mm ……………………………… 601 21.5.1 创建数值矩阵…………………………………………………………601 21.5.2 创建字符矩阵…………………………………………………………602 21.5.3 利用下标访问矩阵的元素……………………………………………603 21.5.4 获取矩阵数据的指针…………………………………………………603 21.5.5 Mm矩阵对象的初始化………………………………………………604 21.5.6 Mm矩阵类的几个常用函数…………………………………………605 21.5.7 MatcomC++矩阵库常量 …………………………………………607 21.5.8 调用系统函数…………………………………………………………607 21.6 Matcom矩阵库的图形和图像显示功能………………………………… 609 21.7 Matcom用于图形显示的常用函数……………………………………… 610 21.8 Matcom 用于图像显示的常用函数……………………………………… 611 21.9 Matcom 的应用实例 ………………………………………………………612 21.9.1 实例1:Matcom Mm矩阵类的创建及使用 ………………………612 21.9.2 实例2:图形绘制的基本功能演示 …………………………………616 21.9.3 实例3:利用 Matcom 绘制动态曲线 ………………………………621 21.9.4 实例4:利用 Matcom 进行图像显示 ……………………………633 21.9.5 实例5:Matcom 二维和三维曲线绘制综合应用 ………………… 646 第22章 C/C++程序调用 MATLABC++数学库 ……… 660 22.1 本章导读……………………………………………………………………660 22.2 MATLABC++数学库 …………………………………………………660 22.3 在 VisualC++工程中调用 MATLABC++数学库 ………………… 660 22.4 MATLABC++数学库的使用 …………………………………………663 22.5 输入和输出 MATLAB阵列……………………………………………… 663 22.5.1 直接输出到屏幕……………………………………………………663 22.5.2 MATLABmwArray阵列数据的输入和输出的其他方式……… 664 22.6 操作 MATLABmwArray阵列 ………………………………………… 668 22.6.1 创建 MATLABmwArray阵列的操作 …………………………… 668 22.6.2 采用 MATLABC++数学库操作稀疏矩阵 ………………………671 22.6.3 MATLABC++数学库对字符阵列的操作……………………… 676 22.6.4 MATLABC++数学库对元组阵列的操作……………………… 679 22.6.5 MATLABC++数学库对结构体阵列的操作…………………… 682 22.6.6 访问 mwArray类中的数据 ………………………………………… 684 22.6.7 MATLABC++数学库对 MATLAB阵列操作常用的小技巧 … 687 22.6.8 调用系统函数…………………………………………………………691 参考文献 内容简介: 《精通MATLAB与CC++混合程序设计(第4版)》结合大量实例,系统全面地介绍了MATLAB与C/C++进行混合程序设计的方法和技巧。全书共分六部分22章。第一部分重点介绍MATLAB与C/C++混合程序设计基础。第二部分重点介绍MATLAB中调用C/C++程序的方法。第三部分重点介绍MATLAB与C/C++语言之间的数据和函数接口。第四部分重点介绍MATLAB编译器的工作原理、发展历程和应用技巧等。第五部分重点介绍C/C++程序中调用MATLAB程序的方法。第六部分重点介绍与MATLAB关系密切的数学库的使用方法。 本书涵盖了MATLAB与C/C++混合程序设计的各个方面,内容由浅入深,并辅以大量实战型的实例程序,可供大中专院校学生作为教材使用,也可供相关领域工程师与科学家参考。 目录: 第一部分 MATLAB与C/C++混合程序设计基础第1章 MATLABM 语言程序设计基础 …………………………… 3 1.1 本章导读 ………………………………………………………………………3 1.2 MATLAB环境 ………………………………………………………………3 1.2.1 命令行窗口(CommandWindow)……………………………………… 4 1.2.2 代码编辑器(Editor) ……………………………………………………6 1.2.3 工作空间窗口(Workspace) ……………………………………………9 1.2.4 历史命令窗口(CommandHistory)…………………………………… 9 1.2.5 历史命令保存指令(diary) ……………………………………………12 1.2.6 使用 MATLAB环境的图形界面完成操作…………………………… 12 1.2.7 MATLAB帮助 …………………………………………………………16 1.2.8 代码输入提示……………………………………………………………17 1.3 MATLABM 语言基础………………………………………………………18 1.3.1 MATLAB脚本文件(Script文件)…………………………………… 18 1.3.2 MATLAB运算符与表达式 ……………………………………………20 1.3.3 MATLAB函数 …………………………………………………………24 1.3.4 MATLABM 语言中的向量运算………………………………………26 1.3.5 MATLAB的程序控制 …………………………………………………32 1.3.6 MATLAB程序异常处理 ………………………………………………36 1.3.7 面向对象的程序设计……………………………………………………37 1.4 MATLAB常用的数据类型 …………………………………………………41 1.4.1 数值阵列…………………………………………………………………42 1.4.2 字符阵列…………………………………………………………………45 1.4.3 逻辑阵列…………………………………………………………………46 1.4.4 元组阵列…………………………………………………………………47 1.4.5 结构体阵列………………………………………………………………50 1.4.6 函数句柄阵列……………………………………………………………52 1.5 MATLAB常用数据可视化功能…………………………………………… 54 1.5.1 使用figure函数创建图形窗口 ……………………………………… 54 1.5.2 绘制曲线…………………………………………………………………55 1.5.3 使用area函数绘制面积图 …………………………………………… 61 1.5.4 使用quiver或quiver3函数绘制向量图 ………………………………66 1.5.5 显示图像数据……………………………………………………………68 1.5.6 显示三维曲面数据………………………………………………………69 第2章 C语言和C++语言程序设计基础…………………………71 2.1 本章导读………………………………………………………………………71 2.2 编译环境………………………………………………………………………71 2.3 编辑器…………………………………………………………………………72 2.4 注 释…………………………………………………………………………73 2.5 文件包含(include) ………………………………………………………… 74 2.6 定义和声明……………………………………………………………………74 2.7 第一个C/C++语言程序 …………………………………………………75 2.8 编译和运行……………………………………………………………………77 2.9 数据类型………………………………………………………………………78 2.9.1 常 量……………………………………………………………………78 2.9.2 变 量……………………………………………………………………78 2.9.3 指 针……………………………………………………………………79 2.9.4 内存的分配与释放………………………………………………………82 2.9.5 数 组……………………………………………………………………82 2.9.6 字符串……………………………………………………………………84 2.9.7 枚举类型…………………………………………………………………86 2.9.8 结构体……………………………………………………………………87 2.10 操作符 ………………………………………………………………………88 2.11 程序结构 ……………………………………………………………………91 2.12 类与对象 ……………………………………………………………………97 2.13 函数模板和类模板…………………………………………………………104 2.14 C++/CLI ………………………………………………………………114 第3章 MATLAB与C/C++语言对照 ………………………… 117 3.1 本章导读 ……………………………………………………………………117 3.2 MATLAB语言 ……………………………………………………………117 3.3 C语言 ………………………………………………………………………122 3.4 C++语言 …………………………………………………………………130 3.5 MATLAB语言、C语言和C++语言实现矩阵操作的比较…………… 139 第4章 动态链接库基础 …………………………………………………142 4.1 本章导读 ……………………………………………………………………142 4.2 为什么使用动态链接库 ……………………………………………………142 4.3 C/C++语言实现动态链接库…………………………………………… 143 4.4 C语言与C++语言动态链接库的差异 ………………………………… 147 4.5 动态链接库的调用方式 ……………………………………………………147 4.5.1 隐式链接 ………………………………………………………………147 4.5.2 显式链接 ………………………………………………………………149 4.6 在 MATLAB环境下创建动态链接库 …………………………………… 152 第5章 开发与调试环境说明………………………………………… 154 5.1 本章导读 ……………………………………………………………………154 5.2 MATLAB环境 ……………………………………………………………154 5.3 MATLABCoder图形界面 ………………………………………………155 5.4 MATLAB编译器 …………………………………………………………155 5.5 mex命令 ……………………………………………………………………156 5.6 mbuild命令 …………………………………………………………………158 5.7 C/C++语言集成开发环境……………………………………………… 160 5.8 Dependency工具 ……………………………………………………………163 第二部分 在MATLAB中调用C/C++程序 第6章 MATLAB通过 MEX文件调用C/C++程序……… 167 6.1 本章导读 ……………………………………………………………………167 6.2 MEX文件 ………………………………………………………………… 167 6.3 MEX文件与 M 文件的关系 ……………………………………………… 168 6.4 MEX文件实例 ……………………………………………………………168 6.5 MEX文件结构 ……………………………………………………………170 6.6 编译 MEX文件 …………………………………………………………… 171 6.7 采用C++语言创建 MEX文件 …………………………………………172 6.8 在 MEX文件中实现图形界面功能 ……………………………………… 173 6.9 在 VisualC++中调试 MEX文件 ……………………………………… 179 6.9.1 利用VisualC++6.0调试 MEX文件 …………………………… 179 6.9.2 利用VisualC++2010调试 MEX文件…………………………… 184 第7章 MATLAB通过动态链接库调用C/C++程序 …… 188 7.1 本章导读 ……………………………………………………………………188 7.2 动态链接库 …………………………………………………………………188 7.3 MATLAB动态链接库的基本操作……………………………………… 189 7.3.1 加载动态链接库 ………………………………………………………189 7.3.2 查看动态链接库信息 …………………………………………………190 7.3.3 利用 mbuild生成动态链接库………………………………………… 191 7.3.4 调用动态链接库中包含的函数 ………………………………………194 7.4 MATLAB动态链接库的操作函数……………………………………… 195 7.4.1 loadlibrary ……………………………………………………………195 7.4.2 unloadlibrary …………………………………………………………197 7.4.3 libfunctions……………………………………………………………197 7.4.4 libfunctionsview ……………………………………………………198 7.4.5 libisloaded ……………………………………………………………198 7.4.6 calllib …………………………………………………………………198 7.4.7 libpointer………………………………………………………………199 7.4.8 libstruct ………………………………………………………………199 7.5 MATLAB与动态链接库的参数传递和转换…………………………… 200 7.5.1 MATLAB与C/C++语言数据类型的对照关系………………… 200 7.5.2 MATLAB与动态链接库基本参数的直接传递…………………… 201 7.5.3 利用libpointer传递指针参数 ……………………………………… 203 7.5.4 传递 MATLAB阵列类型数据 ……………………………………… 208 7.5.5 利用libstruct传递结构体参数 ……………………………………… 210 7.5.6 传递枚举类型参数 ……………………………………………………212 7.6 实例1:调用第三方提供的动态链接库完成文件读取 …………………… 213 7.7 实例2:用户创建动态链接库完成文件操作 ……………………………… 215 第8章 MATLAB通过可执行程序调用C/C++程序 …… 221 8.1 本章导读 ……………………………………………………………………221 8.2 在 MATLAB中执行外部程序 …………………………………………… 221 8.3 实例1:通过外部程序返回文件信息 ……………………………………… 222 8.4 实例2:通过外部程序转换文件格式 ……………………………………… 227 第9章 MATLAB通过ActiveX调用C/C++程序 ………… 233 9.1 本章导读 ……………………………………………………………………233 9.2 ActiveX简介 ………………………………………………………………233 9.3 MATLAB调用ActiveX组件 …………………………………………… 234 9.4 实例:调用ActiveX打开文件………………………………………………239 第三部分 MATLAB 与C/C++语言的数据和函数接口 第10章 MATLAB与C/C++语言混合编程 常用的数据类型 ……………………………………………… 245 10.1 本章导读……………………………………………………………………245 10.2 size_t类型 …………………………………………………………………245 10.3 mwIndex,mwSignedIndex和 mwSize类型 …………………………… 245 10.4 mxChar和 mxLogical类型 ……………………………………………… 246 10.5 mxClassID类型……………………………………………………………246 10.6 mxComplexity类型 ………………………………………………………247 10.7 mxArray类型 ……………………………………………………………248 10.8 特殊常量……………………………………………………………………248 10.9 mwArray类 ………………………………………………………………250 10.9.1 mwArray类的基本操作 ……………………………………………251 10.9.2 mwArray类操作的详细说明……………………………………… 252 10.10 mwString类………………………………………………………………258 第11章 在C/C++语言中操作 MATLAB阵列的函数 … 260 11.1 本章导读……………………………………………………………………260 11.2 数值阵列操作函数…………………………………………………………260 11.2.1 创建数值阵列………………………………………………………260 11.2.2 数值阵列的数据操作…………………………………………………262 11.2.3 标量数据的操作………………………………………………………264 11.3 字符串阵列操作函数………………………………………………………264 11.3.1 创建字符串阵列………………………………………………………264 11.3.2 字符串阵列转换为C语言字符串 ………………………………… 266 11.3.3 获取字符阵列的数据…………………………………………………269 11.4 逻辑型阵列操作函数………………………………………………………269 11.5 稀疏矩阵操作函数…………………………………………………………270 11.5.1 创建稀疏矩阵的操作函数……………………………………………271 11.5.2 稀疏矩阵索引的操作函数……………………………………………271 11.6 结构体操作函数……………………………………………………………273 11.6.1 创建结构体……………………………………………………………273 11.6.2 结构体域的操作………………………………………………………274 11.7 元组阵列操作函数…………………………………………………………276 11.8 类对象阵列属性操作函数…………………………………………………278 11.9 内存操作函数………………………………………………………………281 11.9.1 内存分配操作函数……………………………………………………281 11.9.2 内存释放操作函数……………………………………………………282 11.9.3 阵列复制操作函数……………………………………………………283 11.9.4 MATLAB内存操作函数与C语言内存操作函数对比…………… 283 11.10 索引、维数和元素个数操作函数…………………………………………285 11.10.1 线性索引函数 ……………………………………………………285 11.10.2 维数和元素个数操作函数 ………………………………………286 11.11 MATLAB阵列验证函数(Is函数) ……………………………………288 11.11.1 判断 MATLAB阵列类型 ………………………………………… 288 11.11.2 其他Is函数 …………………………………………………………290 11.12 其他操作函数 ……………………………………………………………291 第12章 在C/C++语言中操作 MATLAB阵列的方法 … 293 12.1 本章导读……………………………………………………………………293 12.2 MATLAB普通数值阵列的操作………………………………………… 293 12.3 稀疏数组阵列(SparseArray)的操作 …………………………………… 295 12.4 MATLAB字符阵列的操作 ………………………………………………299 12.5 MATLAB元组阵列的操作 ………………………………………………300 12.6 MATLAB结构体阵列的操作…………………………………………… 302 12.7 更改 MATLAB数值阵列的维数………………………………………… 305 12.8 分析并显示 MATLAB阵列的内容……………………………………… 309 第13章 C/C++语言在 MEX程序中的专用接口函数…… 320 13.1 本章导读……………………………………………………………………320 13.2 工作区变量操作函数………………………………………………………320 13.3 输出警告和错误信息函数…………………………………………………327 13.4 调用 MATLAB函数和执行 MATLAB命令的函数……………………328 13.5 操作 MEX文件函数 ……………………………………………………… 331 第14章 在C/C++程序中操作 MATLABMAT文件 …… 335 14.1 本章导读……………………………………………………………………335 14.2 MAT文件概要介绍 ………………………………………………………335 14.3 MAT文件格式 ……………………………………………………………336 14.4 操作 MAT文件的 mat API函数 ………………………………………339 14.4.1 MAT文件打开和关闭等操作函数………………………………… 340 14.4.2 循环获取 MAT文件中的变量及其信息…………………………… 341 14.4.3 获取 MAT文件中的变量目录和变量及其信息…………………… 342 14.4.4 将阵列写入 MAT文件或删除 MAT文件中的变量 ……………… 342 14.5 MAT文件操作方法 ………………………………………………………343 14.5.1 向 MAT文件中写入 mxArray变量 ………………………………343 14.5.2 从 MAT文件中读取 mxArray变量 ………………………………348 14.5.3 查看 MAT文件中的阵列变量列表………………………………… 352 14.5.4 遍历 MAT文件中的所有阵列变量………………………………… 354 第四部分 MATLAB编译器的工作原理、发展历程和应用技巧 第15章 MATLAB编译器……………………………………………… 359 15.1 本章导读……………………………………………………………………359 15.2 MATLAB编译器的工作原理…………………………………………… 359 15.3 MATLAB编译器的发展历程…………………………………………… 360 15.4 使用 MATLAB编译器的准备工作……………………………………… 362 15.5 mcc编译器的典型应用:独立可执行文件 ……………………………… 363 15.5.1 编译过程………………………………………………………………363 15.5.2 编译过程详细分析…………………………………………………366 15.5.3 img.ctf文件 ………………………………………………………367 15.5.4 img_main.c文件 ……………………………………………………368 15.5.5 使用 m选项 …………………………………………………………373 15.6 C语言动态链接库…………………………………………………………374 15.6.1 编译过程………………………………………………………………374 15.6.2 编译过程详细分析……………………………………………………374 15.7 C++语言动态链接库 ……………………………………………………376 15.7.1 编译过程………………………………………………………………376 15.7.2 编译过程详细分析……………………………………………………376 15.8 C语言与C++语言动态链接库的差异 ………………………………… 378 15.9 调用MATLAB编译器生成的C/C++语言动态链接库时常用的接口函数……………………………………………………………………379 15.10 mcc命令选项、宏及捆绑命令文件………………………………………381 15.10.1 mcc常用命令选项 …………………………………………………381 15.10.2 mcc宏选项 …………………………………………………………383 15.10.3 捆绑命令文件(bundlefile) ……………………………………384 15.11 MATLAB编译器应用中的常见问题………………………………… 385 15.11.1 编译Script文件 …………………………………………………385 15.11.2 MATLAB编译器关联分析失效的情况………………………… 385 15.11.3 在C/C++程序中调用MATLAB内置函数(builtGinfunction) 388 15.11.4 可变参数传递(varargin,varargout)……………………………388 15.11.5 在 MATLAB环境下执行与通过 MCR执行时的差异 ………… 390 15.11.6 获取CTF文件的目录……………………………………………… 391 15.11.7 屏幕打印和错误信息显示函数 …………………………………391 15.12 MATLAB配置工具(DeploymentTool)……………………………… 396 15.12.1 DeploymentTool工具简介 ………………………………………396 15.12.2 利用 MATLAB配置工具编译独立可执行文件 ………………… 397 15.13 程序发布 …………………………………………………………………399 15.13.1 MCR版本 …………………………………………………………399 15.13.2 安装 MCR ………………………………………………………… 399 15.13.3 独立可执行文件发布需要附加的文件 …………………………400 15.13.4 动态链接库发布需要附加的文件 ………………………………400 第五部分 在C/C++程序中调用MATLAB程序 第16章 生成可独立运行的MATLAB程序 ……………………403 16.1 本章导读……………………………………………………………………403 16.2 MATLAB环境下编译独立可执行文件………………………………… 403 16.2.1 直接编译 M 文件 ……………………………………………………403 16.2.2 在 MATLABM 文件中调用C/C++函数 ……………………… 404 16.2.3 在C/C++语言中调用由 MATLAB.m文件生成的函数 …… 407 16.3 VisualC++环境下编译独立可执行文件……………………………… 413 16.3.1 趣味弹球 MATLABM 程序 ……………………………………… 414 16.3.2 去除控制台窗口………………………………………………………418 16.3.3 去除控制台窗口的另一种方法………………………………………426 16.3.4 将输出改到 Windows窗口上 ……………………………………… 433 第17章 C/C++程序通过引擎和动态链接库调用MATLAB程序 ………………………………………………… 447 17.1 本章导读……………………………………………………………………447 17.2 在C++程序中调用 MATLAB引擎 ……………………………………447 17.2.1 API函数介绍…………………………………………………………447 17.2.2 VisualC++调用 MATLAB引擎的实例 ………………………… 448 17.3 VisualC++中调用 MATLABM 函数编译后的动态链接库………… 458 第18章 C/C++程序通过COM 组件调用MATLAB程序 ………………………………………………………………………… 471 18.1 本章导读……………………………………………………………………471 18.2 COM 基础知识 ……………………………………………………………471 18.2.1 COM 组件 ……………………………………………………………471 18.2.2 对象和接口……………………………………………………………472 18.2.3 COM 在 Windows平台下的实现方式 …………………………… 473 18.3 在 VisualC++中调用COM 组件 ……………………………………… 475 18.3.1 COM 组件与 HRESULT类型 …………………………………… 475 18.3.2 COM 组件与字符串 …………………………………………………476 18.3.3 CLSID和ProgID的相互转换 ……………………………………… 476 18.3.4 AddRef(),Release(),QueryInterface()接口函数………………476 18.3.5 在VisualC++中调用COM 组件的步骤 ………………………… 477 18.4 MATLAB编译COM 组件的基础知识 ………………………………… 479 18.4.1 配置 MATLABC/C++语言编译器 ………………………………479 18.4.2 使用 MATLAB的DeploymentTool工具…………………………479 18.4.3 实现COM 组件的方法 ……………………………………………… 480 18.4.4 实现COM 组件的属性 ……………………………………………… 481 18.4.5 编译COM 组件 ……………………………………………………… 481 18.5 C/C++程序调用由DeploymentTool生成的组件 …………………… 482 18.6 MATLABCOM 组件与C/C++程序之间的数据转换 ……………… 489 18.6.1 VARIANT数据类型 ………………………………………………489 18.6.2 COleVariant和_variant_t类 ………………………………………491 18.6.3 SAFEARRAY数据类型 ……………………………………………492 18.6.4 SAFEARRAY的创建函数 …………………………………………493 18.6.5 MATLAB数据类型的VARIANT类型表示 …………………… 494 18.6.6 VARIANT变量与 MATLAB阵列的转换规则 ………………… 495 18.6.7 阵列格式标志(arrayformattingflags)……………………………498 18.6.8 数据转换标志(dataconversionflags) ……………………………498 18.7 MATLABCOM 工具库 …………………………………………………500 18.7.1 简 介…………………………………………………………………500 18.7.2 MWUtil类……………………………………………………………500 18.7.3 MWFlags类 …………………………………………………………501 18.7.4 MWStruct类…………………………………………………………502 18.7.5 MWField类 ………………………………………………………… 505 18.7.6 MWComplex类………………………………………………………506 18.7.7 MWSparse类…………………………………………………………506 18.7.8 MWArg类……………………………………………………………507 18.7.9 MATLABMWComUtil的枚举类型 ………………………………507 18.8 安装和发布 MATLABCOM 组件 ……………………………………… 509 18.9 综合实例……………………………………………………………………510 18.9.1 实例1:数据转换及数组格式标志的使用 ……………………… 510 18.9.2 实例2:采用 MWUtil处理varargin输入和varargout输出 …… 514 18.9.3 实例3:MWStruct和 MWField的操作实例 ……………………… 519 18.9.4 实例4:MWComplex操作实例 ……………………………………528 18.9.5 实例5:MWSParse操作实例 ………………………………………532 第19章 C/C++程序通过.NET 配件调用MATLAB程序…… 536 19.1 本章导读……………………………………………………………………536 19.2 将 MATLAB程序编译为.NET配件 ……………………………………536 19.3 在 VisualC++2010中调用.NET配件 ………………………………537 19.4 VisualC++与 MATLAB之间的数据转换……………………………… 539 19.5 使用 MWNumericArray操作数值阵列 ………………………………… 540 19.5.1 数值阵列的类型………………………………………………………540 19.5.2 C++索引与 MATLAB阵列索引 ………………………………… 541 19.5.3 实型阵列和复型阵列…………………………………………………541 19.5.4 创建标量……………………………………………………………542 19.5.5 创建矢量………………………………………………………………543 19.5.6 创建矩阵………………………………………………………………545 19.5.7 创建任意维数的数值阵列…………………………………………547 19.6 使用 MWCharArray操作字符阵列……………………………………… 549 19.7 使用 MWLogicalArray操作逻辑阵列 ………………………………… 551 19.8 使用 MWStructArray操作结构体阵列 ………………………………… 552 19.9 使用 MWCellArray操作元组阵列 ……………………………………… 553 第20章 将 MATLABM 程序转换为C/C++程序………… 555 20.1 本章导读……………………………………………………………………555 20.2 MATLABCoder的功能 …………………………………………………555 20.3 MATLABCoder对 MATLABM 语言代码的约束 …………………… 556 20.4 第一个实例…………………………………………………………………557 20.4.1 实例说明………………………………………………………………557 20.4.2 基本原理………………………………………………………………558 20.4.3 代码实现………………………………………………………………559 20.4.4 实例执行结果…………………………………………………………567 20.4.5 生成C/C++代码 …………………………………………………569 20.5 MATLABCoder图形界面 ………………………………………………569 20.6 codegen命令 ………………………………………………………………571 20.7 MATLABCoder的典型应用 ……………………………………………573 20.7.1 将 MATLABM 程序转换为C/C++代码 ……………………… 573 20.7.2 将 MATLABM 程序转换为 MEX文件……………………………575 20.7.3 将 MATLABM 程序编译为可执行文件 ………………………… 575 20.7.4 将 MATLABM 程序编译为动态链接库 ………………………… 576 20.8 用 MATLABCoder转换后的C/C++代码中的数据类型……………576 20.8.1 变量类型定义……………………………577 20.8.2 强制类型转换…………………………………………………………577 20.8.3 基本类型定义………………………………………………………578 20.8.4 复数类型………………………………………………………………580 20.8.5 固定长度变量与可变长度变量………………………………………582 20.8.6 结构体类型……………………………………………………………587 第六部分 与MATLAB相关的数学库 第21章 C/C++程序调用Matcom矩阵库 ……………………… 593 21.1 本章导读……………………………………………………………………593 21.2 Matcom与 MATLAB …………………………………………………… 593 21.3 安装 Matcom ……………………………………………………………… 593 21.4 在 VisualC++中使用 MatcomC++矩阵库 ………………………… 595 21.5 使用 MatcomC++矩阵库的矩阵类 Mm ……………………………… 601 21.5.1 创建数值矩阵…………………………………………………………601 21.5.2 创建字符矩阵…………………………………………………………602 21.5.3 利用下标访问矩阵的元素……………………………………………603 21.5.4 获取矩阵数据的指针…………………………………………………603 21.5.5 Mm矩阵对象的初始化………………………………………………604 21.5.6 Mm矩阵类的几个常用函数…………………………………………605 21.5.7 MatcomC++矩阵库常量 …………………………………………607 21.5.8 调用系统函数…………………………………………………………607 21.6 Matcom矩阵库的图形和图像显示功能………………………………… 609 21.7 Matcom用于图形显示的常用函数……………………………………… 610 21.8 Matcom 用于图像显示的常用函数……………………………………… 611 21.9 Matcom 的应用实例 ………………………………………………………612 21.9.1 实例1:Matcom Mm矩阵类的创建及使用 ………………………612 21.9.2 实例2:图形绘制的基本功能演示 …………………………………616 21.9.3 实例3:利用 Matcom 绘制动态曲线 ………………………………621 21.9.4 实例4:利用 Matcom 进行图像显示 ……………………………633 21.9.5 实例5:Matcom 二维和三维曲线绘制综合应用 ………………… 646 第22章 C/C++程序调用 MATLABC++数学库 ……… 660 22.1 本章导读……………………………………………………………………660 22.2 MATLABC++数学库 …………………………………………………660 22.3 在 VisualC++工程中调用 MATLABC++数学库 ………………… 660 22.4 MATLABC++数学库的使用 …………………………………………663 22.5 输入和输出 MATLAB阵列……………………………………………… 663 22.5.1 直接输出到屏幕……………………………………………………663 22.5.2 MATLABmwArray阵列数据的输入和输出的其他方式……… 664 22.6 操作 MATLABmwArray阵列 ………………………………………… 668 22.6.1 创建 MATLABmwArray阵列的操作 …………………………… 668 22.6.2 采用 MATLABC++数学库操作稀疏矩阵 ………………………671 22.6.3 MATLABC++数学库对字符阵列的操作……………………… 676 22.6.4 MATLABC++数学库对元组阵列的操作……………………… 679 22.6.5 MATLABC++数学库对结构体阵列的操作…………………… 682 22.6.6 访问 mwArray类中的数据 ………………………………………… 684 22.6.7 MATLABC++数学库对 MATLAB阵列操作常用的小技巧 … 687 22.6.8 调用系统函数…………………………………………………………691 参考文献 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |