版 次:1
页 数:字 数:
印刷时间:2018年04月27日
开 本:16开
纸 张:胶版纸
包 装:平装-胶订
是否套装:否
标准书号ISBN:9787512426931
编辑
中国电子科技集团公司智能感知技术重点实验室工程师凌云,MATLAB编程基础教学一代宗师张志涌教授,强强联合,打造全面掌握MATLAB面向对象编程与C/C 混合编程的经典!
全书70多个示例,经典、可靠,凡是认真看过、用过的人,都会不吝赞叹示例从选取到设计的缜密、精致!
即《精通MATLAB》和《MATLAB教程》之后,又一本可以信赖的诚意之作!
历时三年,数易其稿,唯愿以师者之心,奉献精品,对每一位读者负责。
内容简介
本书正文由两篇组成:A篇“MATLAB面向对象编程”和B篇“MATLAB面向C/C 编程”。每篇各5章,各篇内容按照由浅入深的原则编排,篇中各章内容的设计,既有联系,又相对独立,以适应读者阅读和随时翻阅的不同需求。A篇的内容包括:MATLAB的类定义和基本操作、类对象数组、类方法的重载与覆盖、类的继承与组合,以及事件与响应。B篇的内容包括:MATLAB外部应用的数据接口、MATLAB对C/C 程序的调用、C/C 程序对MATLAB的MAT函数库的调用、C/C 程序对MATLAB引擎函数库的调用、MATLAB编译器和独立应用程序的开发。
全书包含70多个示例。所有示例都由作者围绕叙述内容精心设计而成。示例的背景知识适于理工类高校任何的师生,适于理工类软件开发的各类从业人员。所有示例表述清晰、完整,关键程序代码都附有注释,便于读者阅读和理解;示例中的运行结果,都可被读者重现,以帮助读者建立学习信心。
此外,本书每个示例的运行代码或程序都保证准确、完整。读者亲自实践本书示例时所需的代码,既可以直接循书本代码键入而得,也可以扫描二维码或按出版社提供的下载地址下载。
本书既可以作为理工类高校各师生的学习、教学用书,也可以用作科研院所各类研发人员的自学用书和参考手册。
作者简介
凌云,工程师。在中国电子科技集团公司智能感知技术重点实验室奉职的十余年间,长期从事算法优化、加速及大型软件等的MATLAB和C/C 的联合开发和研究,主持完成雷达、目标、环境一体化仿真平台的论证和软件设计实现,并在此图形化可现场建模的仿真平台基础上完成多型雷达的仿真。
张志涌 籍贯无锡,教授,享受国务院专项津贴;先后受教育于清华大学、上海交通大学、荷兰王国Eindhoven技术大学;先后从事辨识、故障诊断、仿真、智能计算和控制、无线信道盲辨识及盲均衡、仿真机器人足球和多智能体、科学计算及软件等方面的研究和教学。对科学计算及软件尤感兴趣,先后使用过Maple、Mathematica、Mathcad、SCILAB、MuPAD等计算软件。1989年接触使用MATLAB;1992年对MATLAB3.0进行汉化,并编写讲义;1997年出版《掌握和精通MATLAB》;2000年出版《精通MATLAB》,至今3次改版累计30多印次;2001年出版《MATLAB教程》,至今8次改版累计80多印次;2015年编译具有MATLAB之父、数值分析和科学计算之父双重身份的Cleve B. Moler经典著作《Numerical Computing with MATLAB》的中文版《MATLAB数值计算》;2018年与凌云合著《MATLAB面向对象和C 编程》。
目 录
目 录
A 篇 MATLAB面向对象编程
第1章 类定义和基本操作 3
1.1引 导 3
1.1.1面向过程的程序设计方法概述 3
1.1.2面向对象的程序设计方法概述 4
1.1.3面向过程和面向对象程序设计的区别 4
1.2类和对象 9
1.3类定义的基本结构 9
1.4类的属性 12
1.4.1属性块和属性 12
1.4.2属性块的秉质 13
1.4.3对象属性名的获取和属性值的查询 14
1.4.4属性赋值的三个不同阶段 19
1.4.5属性赋值和set函数 19
1.4.6从属属性和get/set函数 23
1.5类的方法 28
1.5.1方法块和方法的构成 28
1.5.2方法块的秉质 32
1.5.3类对象方法名的查询和获取 33
1.5.4类方法的调用与程序设计 36
1.6类对象构造函数 41
1.6.1理解和应用默认构造函数 42
1.6.2自编构造函数的编写准则 45
1.6.3自编构造函数的典型结构 46
1.6.4自编构造函数的编写 47
1.7全值类和句柄类的差别 54
1.7.1两类的类定义和对象性状差别 54
1.7.2两类对象变量在函数内外传递中的差别 64
1.7.3全值类和句柄类适用性差别 73
1.8类方法中的数组运算和矩阵运算 74
第2章 对象数组 78
2.1对象数组的构成和创建 78
2.1.1对象数组基础 78
2.1.2小规模对象数组的方括号创建法 78
2.1.3对象数组的外循环创建法 82
2.1.4对象数组的deal属性赋值创建法 85
2.1.5对象数组的内循环创建法 86
2.1.6对象数组的编址赋值创建法 88
2.2对象数组的编址和寻访 91
2.2.1对象数组的编址 91
2.2.2对象数组的元素对象寻访 91
2.2.3对象数组属性值的获取和组织 94
2.3对象数组操作和特殊对象数组 98
2.3.1对象数组的常用操作命令 98
2.3.2空对象数组 98
2.3.3特殊对象数组的生成 101
第3章 重载和覆盖 111
3.1引 导 111
3.1.1重载和覆盖的基本含义 111
3.1.2什么情况下需要重载和覆盖 111
3.1.3MATLAB语言格式及控制函数的默认行为表现 111
3.2类别转换和算符重载 112
3.2.1对象类别的转换方法函数 112
3.2.2MATLAB算符及后台控制函数 115
3.2.3代数运算符的重载 116
3.3改变对象显示的重载和覆盖技术 121
3.3.1显示函数、对象形态及显示内容 121
3.3.2改变对象显示的覆盖技术 127
3.3.3改变对象显示的重载技术 137
第4章 类的继承与组合 142
4.1类继承定义 142
4.1.1单一父类继承 142
4.1.2多个父类继承 143
4.2子类如何构造父类 147
4.3类继承中的覆盖与多态性 151
4.4抽象类及其应用 157
2MATLAB面向对象和C/C 编程
4.4.1抽象类的定义 157
4.4.2抽象类的应用 163
4.5类的组合应用 170
4.5.1属性包含型组合 170
4.5.2界面和算法两类的包含型组合 174
第5章 事件与响应 182
5.1概 述 182
5.1.1事件概念及其代码特征 182
5.1.2侦听和响应概念 183
5.2事件定义和消息发布函数 183
5.2.1事件块及秉质 184
5.2.2消息发布函数notify 185
5.3侦听件的创建和响应函数的型式 185
5.3.1侦听件创建函数的一般格式 185
5.3.2不同型式响应函数的注册格式 186
5.4事件/响应的简单应用示例 188
5.5事件在复杂软件开发中的综合应用 196
5.5.1MATLAB和C 中事件应用的区别 196
5.5.2事件在 MATLAB和C 联合开发中的应用 197
B篇 MATLAB面向C/C 编程
第6章 数据接口 233
6.1MATLAB数据 233
6.1.1MATLAB阵列 233
6.1.2数据存储方式 234
6.1.3C/C 数据接口 236
6.2mxArray阵列结构 237
6.2.1创建和删除 mxArray 237
6.2.2读取和赋值 mxArray中的数据 243
6.2.3获取 mxArray属性 249
6.2.4mxArray的 API函数综合应用示例 251
6.3mwArray阵列结构 259
6.3.1创建 mwArray 260
6.3.2读取和赋值 mwArray中的数据 262
6.3.3获取 mwArray属性 264
目 录 3
6.3.4mwArray类方法综合应用示例 265
第7章 MATLAB中调用C/C 程序 269
7.1关于 MEX文件的一般性说明 269
7.2C_MEX源文件的构成 270
7.3编译生成C语言 MEX文件 272
7.3.1编译器的配置 272
7.3.2借助编译器生成 MEX文件 273
7.3.3编译指令 mex简介 274
7.4MEX文件的执行流程 275
7.5MEX函数库介绍 276
7.6C语言 MEX文件应用示例 277
7.6.1MATLAB环境下编译C_MEX源文件 277
7.6.2Visual Studio环境下编译C_MEX源文件 282
7.6.3Visual Studio环境下调试 MEX文件 287
第8章 C/C 程序对 MAT函数库的调用 291
8.1MATLAB中数据的输入输出方法 291
8.2MAT函数库介绍 291
8.3调用 MAT函数库的C/C 源码应用程序编写 293
8.4利用Visual Studio环境编写调用MAT函数库程序 298
第9章 C/C 程序调用 MATLAB引擎 309
9.1MATLAB引擎概念和功用 309
9.2MATLAB引擎函数库介绍 309
9.3MATLAB环境下编译调用引擎函数库的C/C 源文件 310
9.4Visual Studio 环境编译调用引擎函数库的C/C 源文件 316
9.5C/C 应用程序与 M 函数联合调试技术 319
9.5.1联合调试流程 319
9.5.2联合调试应用示例 320