第1章 引言 1
第2章 C++数学库与面向对象程序设计 5
2.1 面向对象程序设计的基本概念 5
2.1.1 面向对象程序设计思想的发展 5
2.1.2 面向对象程序设计的基本概念 6
2.1.3 面向对象程序设计的特点 6
2.2 C++程序设计基础 7
2.2.1 C++语言与C语言的主要差异 8
2.2.2 C++面向对象程序设计 17
2.2.3 C++的异常处理机制 35
2.3 思考与练习 36
第3章 C++数学库与应用程序开发环境 38
3.1 Borland C++ Builder开发环境简介 38
3.2 C++数学库的组成 43
3.3 C++数学库的安装 44
3.4 C++数学库与应用开发环境配置 44
3.5 第一个Matlab C++应用程序 46
3.6 发布Matlab C++应用程序 49
3.7 思考与练习 49
第4章 C++数学库的核心类——mwArray 51
4.1 mwArray类的外部接口简介 51
4.1.1 构造函数 52
4.1.2 静态数据成员 52
4.1.3 运算符重载 52
4.1.4 成员函数 53
4.2 创建mwArray数组的方法和原则 54
4.3 数值数组的创建 54
4.3.1 使用构造函数创建Numeric Array 55
4.3.2 使用库函数创建数组 60
4.3.3 通过连接创建新数组 64
4.3.4 稀疏矩阵 65
4.4 字符数组的创建 69
4.4.1 使用构造函数创建字符数组 70
4.4.2 将数值数组转换为字符数组 70
4.4.3 将一维字符数组连接成二维字符数组 71
4.5 细胞数组的创建 71
4.5.1 使用cell()函数创建细胞数组 72
4.5.2 使用细胞数组转换函数创建细胞数组 72
4.5.3 通过连接创建细胞数组 73
4.5.4 通过赋值创建细胞数组 76
4.5.5 显示细胞数组中的内容 77
4.6 数组元素的索引与访问 77
4.6.1 使用一维下标 78
4.6.2 使用N维下标 82
4.6.3 使用逻辑下标 86
4.6.4 在赋值表达式中使用下标 88
4.6.5 删除数组中的元素 89
4.6.6 从mwArray数组中提取数据 91
4.6.7 细胞数组的索引 94
4.6.8 数组维数及大小等相关信息的确定 97
4.7 思考与练习 99
第5章 数学运算符及应用 103
5.1 加减运算符及其应用 103
5.2 乘除运算符及其应用 105
5.2.1 数组乘除 105
5.2.2 矩阵乘除 106
5.3 关系运算符及其应用 109
5.4 逻辑运算符及其应用 111
5.5 数学运算应用小结 112
5.6 思考与练习 114
第6章 C++数学库函数的调用 116
6.1 仅有一个输出的函数调用 116
6.2 具有一个或多个输入的函数调用 117
6.3 具有多个输出的函数调用 117
6.4 传递任意多个输入 118
6.5 传递任意多个输出 119
6.6 库函数调用规则小结 120
6.7 将函数作为参数传递 121
6.8 思考与练习 123
第7章 C++数学库应用中的异常处理 125
7.1 C++数学库中常用异常类 126
7.2 使用异常类进行异常处理 127
7.3 思考与练习 130
第8章 mwArray数组的输入输出 131
8.1 利用程序界面进行数组的输入输出 131
8.1.1 控制台应用程序下数组输入输出 131
8.1.2 窗口应用程序下数组的输入输出 133
8.2 将mwArray数组保存到文件或从文件中读出 138
8.2.1 使用文件流对象或文件操作函数 138
8.2.2 Mat文件数据的导入和导出 143
8.3 思考与练习 147
第9章 数据可视化——扩展plot函数库 149
9.1 Matlab C++扩展plot函数库简介 149
9.1.1 开发背景 149
9.1.2 功能介绍 151
9.2 使用Matlab C++扩展plot函数库 155
9.2.1 开发环境配置 155
9.2.2 调用plot扩展函数库中的函数 156
9.3 思考与练习 159
第10章 C++数学库的综合应用举例 161
10.1 Matlab C++数学库在频谱分析中的应用 161
10.2 Matlab C++数学库在数据采集系统中的应用 165
10.3 Matlab C++数学库在过程控制系统中的应用 167
10.4 思考与练习 168
附录A 常用库函数 170
附录B Matlab外部接口简介 182
附录C 关于自定义工程模板 185
附录D 如何安装数组输入输出组件 188
附录E 如何安装运算符重载扩展函数库 192
参考文献 193