MATLAB C++应用开发

出版时间:2010-2  出版社:清华大学出版社  作者:甘才军  页数:191  
Tag标签:无  

前言

理工科专业的大多数学生可能都有使用Matlab的经验。笔者依稀记得在大学求学期间,第一次使用Matlab时的那种难以抑制的欣喜和激动:那是多么完美的一个作品!它提供了一个独一无二的集成环境,让你可以在它构筑的虚拟实验室里轻松地开发和验证自己的算法、进行系统仿真等多种工作;它还提供了丰富的图形用户界面,使得用户得以直观地观察自己的数据。Matlab所提供的虚拟实验室无疑是令人叹为观止、流连忘返的。尽管如此,你终将不得不走出这个美妙的实验室,去解决现实世界的实际问题。例如,一个过程控制系统开发人员在Matlab环境中成功验证自己的算法后,必须将这个算法集成到实际系统中,不得不考虑一些实际问题,其中之一是系统能否脱离Matlab环境而独立运行以及运行效率问题。笔者在攻读硕士学位时,就曾遇到过类似的困惑。当时要把一个用.Matlab编写的过程控制算法移植到C++程序中(该程序最终要在工控机上运行),而这个算法涉及大量的矩阵运算,其中有矩阵求逆、sqr分解等。若是在Matlab环境下,几个简单的运算符和函数就轻松搞定,但面对的实际问题是,得用c++程序重写算法,这是多么可怕的任务!虽然最后花了九牛二虎之力总算是解决了任务,但仍不尽完美。那时,头脑中的一个想法日渐清晰:为什么不采用由Matlab来完成复杂的矩阵运算,而C++程序只是给出一个前台界面的程序工作方式呢?通过阅读Matlab的帮助文档和相关出版物了解到,Matlab外部接口提供了这种方式,即使用Matlab引擎进行矩阵计算,通过动态数据交换机制和应用程序前台进行数据交换。当笔者怀着无比激动的心情重写了C++程序后,拿到实际的运行环境工作时,却发现,根本不能满足实际要求,程序执行效率太低,根本无法满足对设备的实时控制要求。

内容概要

通过本书,读者将能够应用Matlab C++数学库,利用可视化应用程序开发工具Borland C++Builder开发出独立于Matlab环境的应用程序。    全书分为10章,内容主要包括:引言(第1章);C++面向对象程序设计基础(第2章);Matlab C++数学库的组成、安装和配置(第3章);Matlab C++数学库基础类——mwArray(第4章);运算符重载(第5章);库函数的调用方法(第6章);异常处理(第7章);作者对Matlab C++数学库的有关扩展(第8、9章);最后作者还结合几个相关领域介绍了基于Matlab C++数学库的解决方案(第10章)。本书在论述中,始终贯穿了“Matlab C++数学库的应用”这一主线,力求理论联系实际,通过大量实例讲解相关要点(各章节的实例均可在清华大学出版社的网站上下载)。为使读者快速掌握并巩固相关知识,第2~10章后都配有习题。    本书可作为计算机应用、应用数学等相关专业的专业课教材;对于高校其他理工科相关专业的高年级本科生、研究生以及企业应用程序开发人员,本书亦有重要的参考价值。

书籍目录

第1章  引言第2章 C++数学库与面向对象程序设计  2.1 面向对象程序设计的基本概念    2.1.1  面向对象程序设计思想的发展    2.1.2 面向对象程序设计的基本概念    2.1.3 面向对象程序设计的特点  2.2 C++程序设计基础   2.2.1 C++语言与C语言的主要差异    2.2.2 C++面向对象程序设计    2.2.3 C++的异常处理机制  2.3 思考与练习第3章C++数学库与应用程序开发环境  3.1 Borland C++Builder开发环境简介  3.2 C++数学库的组成  3.3 C++数学库的安装  3.4 C++数学库与应用开发环境配置  3.5 第一个Matlab C++应用程序  3.6 发布Matlab C++应用程序  3.7 思考与练习第4章C++数学库的核心类--mwArray  4.1 mwArray类的外部接口简介    4.1.1 构造函数    4.1.2 静态数据成员    4.1.3 运算符重载    4.1.4 成员函数  4.2 创建mwArray数组的方法和原则  4.3 数值数组的创建    4.3.1 使用构造函数创建Numeric Array    4.3.2 使用库函数创建数组    4.3.3 通过连接创建新数组    4.3.4 稀疏矩阵  4.4 字符数组的创建    4.4.1 使用构造函数创建字符数组    4.4.2 将数值数组转换为字符数组    4.4.3  将一维字符数组连接成二维字符数组  4.5 细胞数组的创建    4.5.1 使用cell()函数创建细胞数组    4.5.2 使用细胞数组转换函数创建细胞数组    4.5.3 通过连接创建细胞数组    4.5.4 通过赋值创建细胞数组    4.5.5 显示细胞数组中的内容  4.6 数组元素的索引与访问    4.6.1 使用一维下标    4.6.2 使用N维下标    4.6.3 使用逻辑下标    4.6.4 在赋值表达式中使用下标    4.6.5 删除数组中的元素    4.6.6 从mwArray数组中提取数据    4.6.7 细胞数组的索引    4.6.8 数组维数及大小等相关信息的确定  4.7 思考与练习第5章 数学运算符及应用  5.1 加减运算符及其应用  5.2 乘除运算符及其应用    5.2.1 数组乘除    5.2.2 矩阵乘除  5.3 关系运算符及其应用  5.4 逻辑运算符及其应用  5.5 数学运算应用小结  5.6 思考与练习第6章 C++数学库函数的调用第7章 C++数学库应用中的异常处理第8章 mwArray数组的输入输出第9章 数据可视化——扩展plot函数库第10章 C++数学库的综合应用举例附录A 常用库函数附录B Matlab外部接口简介附录C 关于自定义工程模板附录D 如何安装数组输入输出组件附录E 如何安装运算符重载扩展函数库参考文献

章节摘录

插图:如果你的电脑已经安装了Matlab 6.0或其以上版本,Matlab数学库通常被同时安装到了电脑上(本书中介绍的Matlab C++数学库取自Matlab 6.0)。其中,动态链接库文件被安装在子目录bin下,而导入库文件则与特定的编译器有关(BCB和VC开发环境下对应的导入库文件是不同的,本书作者只整理了BCB下必需的导入库文件),头文件是应用程序编译时所必需的文件。导入库文件及其头文件可以在Matlab安装目录下的子目录extern中找到。然而,通过使用c++Builder编译器编译程序发现,Matlab自带的应用程序开发时所必需的一些头文件存在许多编译时错误。大部分错误的原因是原始头文件中的许多行的字符数超过了一般编译器所识别的范围,因此无法通过编译。此外,原始头文件中的一些声明和C++库本身的头文件声明出现重定义等语法错误。基于上述问题,笔者专门对Matlab C/C++数学库进行了整理,修正了上述错误。为更正这个错误,笔者开发了一个专门用来解决原始头文件中行的字符数超出限制问题的程序(即“头文件转换程序”,手工回车换行解决此问题的办法根本不可行),该程序通过对原始头文件的相应转换,修正了行字符数过长的问题,然后,根据C++语法规则,进一步更正了转换后的头文件中的少量语法错误,以独立于Matlab环境的“Matlab C/C++数学库”提供给各位读者(见3.2节所介绍的Matlab C++数学库)。有了“Matlab C++数学库”,要进行基于该数学库的应用程序的开发,不再需要事先在电脑中安装Matlab软件,只需要将本书随书附件目录“MatlabC++数学库”下的文件夹Matlab复制到C++Builder。的安装目录下(如图3-9所示),然后运行该目录下的install.bat脚本(具体操作请参考上述目录下的安装说明文件)就可以了。上述Matlab文件夹中包含三个子文件夹,分别为dll、lib和inclltde,它们分别对应图3-8中的三个组成部分。其中include文件夹里又包含(cpp)子文件夹,该子文件夹中的头文件是与C++数学库对应的,其中的有些文件引用了include根目录下的头文件。因而这些头文件在应用程序开发过程中都必不可少。

编辑推荐

《MATLAB C++应用开发》特色对于那些一直苦苦追寻一个易用高效、完整独立C++数学库的读者,《MATLAB C++应用开发》将给他们带来意想不到的收获。《MATLAB C++应用开发》具有如下特色:使用方便。针对c++开发环境,对原始Matlab c++数学库进行处理,使之在不安装Matlab的前提下就可直接用于c++开发环境,使用上非常方便。循序渐进、实用性强。熟知C语言的读者,即使不懂c++语言,也可以通过《MATLAB C++应用开发》轻松上路。通过大量精选实例,读者完全可即学即用。独创性。作者对Matlab c++数学库做了许多扩展,开发了扩展图形函数库和矩阵输入输出控件以及运算符重载扩展库,读者可用于自己的应用开发中,从而加快开发进度。与应用领域相结合。给出了Matlab c++数学库的几个重要应用领域.读者可从中受到启发,理论联系实际。

图书封面

图书标签Tags

评论、评分、阅读与下载


    MATLAB C++应用开发 PDF格式下载


用户评论 (总计3条)

 
 

  •   不仅是写的老早的matlab版本,6.0现在没人用了吧。
    而且根本就没说清楚该怎么去实现,只不过是C++的简单概述加上matlab的虎皮,屁用没有!!
    作者就是骗钱的!!!
  •   不知道下一本书 该读什么啊
  •   作者的这个思路比较新,但是价值不是很大可以开阔思路,交个也不贵
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7