A篇 MATLAB面向对象编程 3
第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.3 MATLAB语言格式及控制函数的默认行为表现 111
3.2类别转换和算符重载 112
3.2.1对象类别的转换方法函数 112
3.2.2 MATLAB算符及后台控制函数 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
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.1 MATLAB和C++++中事件应用的区别 196
5.5.2事件在MATLAB和C++++联合开发中的应用 197
B篇 MATLAB面向C/C++++编程 233
第6章 数据接口 233
6.1 MATLAB数据 233
6.1.1 MATLAB阵列 233
6.1.2数据存储方式 234
6.1.3 C/C++++数据接口 236
6.2 mxArray阵列结构 237
6.2.1创建和删除mxArray 237
6.2.2读取和赋值mxArray中的数据 243
6.2.3获取mxArray属性 249
6.2.4 mxArray的API函数综合应用示例 251
6.3 mwArray阵列结构 259
6.3.1创建mwArray 260
6.3.2读取和赋值mwArray中的数据 262
6.3.3获取mwArray属性 264
6.3.4 mwArray类方法综合应用示例 265
第7章 MATLAB中调用C/C++++程序 269
7.1关于MEX文件的一般性说明 269
7.2 C_MEX源文件的构成 270
7.3编译生成C语言MEX文件 272
7.3.1编译器的配置 272
7.3.2借助编译器生成MEX文件 273
7.3.3编译指令mex简介 274
7.4 MEX文件的执行流程 275
7.5 MEX函数库介绍 276
7.6 C语言MEX文件应用示例 277
7.6.1 MATLAB环境下编译C_MEX源文件 277
7.6.2 Visual Studio环境下编译C_MEX源文件 282
7.6.3 Visual Studio环境下调试MEX文件 287
第8章 C/C++++程序对MAT函数库的调用 291
8.1 MATLAB中数据的输入输出方法 291
8.2 MAT函数库介绍 291
8.3调用MAT函数库的C/C++++源码应用程序编写 293
8.4利用Visual Studio环境编写调用MAT函数库程序 298
第9章 C/C++++程序调用MATLAB引擎 309
9.1 MATLAB引擎概念和功用 309
9.2 MATLAB引擎函数库介绍 309
9.3 MATLAB环境下编译调用引擎函数库的C/C++++源文件 310
9.4 Visual Studio环境编译调用引擎函数库的C/C++++源文件 316
9.5 C/C++++应用程序与M函数联合调试技术 319
9.5.1联合调试流程 319
9.5.2联合调试应用示例 320
第10章 MATLAB编译器 327
10.1 MATLAB编译器概述 327
10.1.1编译器的功能 328
10.1.2编译器的局限性 328
10.1.3把脚本文件改写为函数文件 328
10.2 MATLAB编译器配置和入门 330
10.2.1为正确使用MATLAB编译器进行配置 330
10.2.2 MATLAB编译器使用入门 331
10.2.3编译指令mcc简介 333
10.2.4编译器工作流程介绍 338
10.3应用程序编译器 344
10.3.1应用程序编译器概述 344
10.3.2应用程序编译器使用入门 344
10.4编译器生成可独立执行应用程序示例 351
10.5编译器生成共享动态链接库示例 357
10.5.1 M函数文件生成C语言动态链接库及调用 357
10.5.2 M函数文件生成C++++语言动态链接库及调用 361
10.5.3 MFC应用程序框架及其综合应用 365
附录 395
附录A基础准备与入门 395
A.1 MATLAB的配置及入门 395
A.1.1 MATLAB的安装与启动 395
A.1.2为MATLAB配置Windows搜索路径 397
A.1.3 MATLAB基本使用方法 399
A.2 Visual Studio集成开发环境入门 403
A.2.1 Visual Studio 2010的安装与启动 403
A.2.2 Visual Studio环境的基本使用方法 405
附录B索引 413
B.1 MATLAB的英文关键词 413
B.1.1面向对象编程的函数和命令 413
B.1.2面向C/C++++的函数和命令 415
B.2 C/C++++的英文关键词 418
参考文献 419