编者的话 1
第1章 MATLAB 6.0概述 1
1.1 MATLAB简介 1
前言 1
1.2 MATLAB的安装 2
1.3 MATLAB的工作环境 4
1.3.1 命令窗口 4
1.3.2 启动平台 7
1.3.3 工作空间(Workspace) 8
1.3.4 命令历史纪录和当前路径窗口 8
1.4 M文件的编辑调试环境 8
1.5 编辑器/调试器参数的设置 11
1.5.1 编辑器/调试器字体和颜色的设置 12
1.5.2 编辑器/调试器显示的设置 13
1.5.3 键盘和缩进的设置 14
1.6.1 查看与清除工作空间中的变量 15
1.5.4 打印参数的设置 15
1.6 MATLAB的工作空间 15
1.6.2 保存工作空间 16
1.6.3 用特定的格式保存工作空间 17
1.6.4 加载工作空间 17
1.6.5 加载ASCII数据文件 18
1.6.6 工作空间浏览器与数组编辑 18
1.6.7 保存在字符串变量中的文件名 19
1.6.8 使用通配符 20
1.7 MATLAB的路径搜索 21
1.8 命令窗口的设置 22
1.9 在线帮助 23
第2章 矩阵与线性代数 26
2.1 矩阵与线性代数的基本概念 26
2.1.2 矢量积与矩阵转置 27
2.1.1 矩阵的加法与减法运算 27
2.1.3 矩阵乘法 29
2.1.4 单位矩阵 30
2.1.5 Kronecker Tensor乘积 30
2.1.6 矢量及矩阵的范数 31
2.2 解线性方程 32
2.2.1 方阵系统 33
2.2.2 过限定系统 34
2.2.3 限定不足系统 35
2.3 逆矩阵及行列式 37
2.3.1 方阵的行列式与逆矩阵 37
2.3.2 伪逆矩阵 39
2.4 矩阵分解 41
2.4.1 平方根分解法 42
2.4.2 高斯消去法 43
2.4.3 正交分解法 45
2.5 矩阵幂与指数 48
2.6 特征值与特征矢量 51
2.7 奇异值分解 54
第3章 多项式和插值 57
3.1 多项式 57
3.1.1 多项式的表示及其运算 57
3.1.2 多项式的曲线拟合 60
3.1.3 部分分式 61
3.2 插值 63
3.2.1 一维插值 63
3.2.2 二维插值 66
3.2.3 插值方法的比较 67
3.3 多维数据的插值 71
3.3.1 三维数据的插值 71
3.3.2 多维数据的插值 72
3.3.3 多维数据的网格 73
3.4 三角形测量与离散数据插值 73
3.4.1 Delaunay三角分解 74
3.4.2 最近点搜索 75
3.4.3 Voronoi图表 76
第4章 功能函数 79
4.1 函数的表示 79
4.2 函数图像 79
4.3 求函数的最小值与零点 83
4.3.1 求一元函数的最小值 83
4.3.2 求多元函数的最小值 84
4.3.3 设置求最小值的参数 84
4.3.4 求一元函数的零点 85
4.4.1 求一元函数的定积分 87
4.4 积分 87
4.4.2 计算曲线长度 88
4.4.3 二重积分 89
第5章 数据分析与统计 90
5.1 列向数据 90
5.2 基本分析函数 91
5.3 协方差矩阵与相关系数矩阵 94
5.4 微分与梯度 95
5.5 数据预处理 96
5.6 曲线拟合 98
5.6.1 曲线拟合实例分析 100
5.6.2 误差范围 107
5.7 微分方程数据过滤器 107
5.8 傅里叶变换 109
5.8.1 傅里叶变换应用实例 110
5.8.2 傅里叶变换的幅度与相位 112
5.8.3 快速傅里叶变换的长度与速度的关系 113
第6章 图形绘制 114
6.1 基本绘图函数 114
6.1.1 用plot函数绘图 114
6.1.2 双Y轴图形 120
6.1.3 绘制三维线型图形 122
6.1.4 设置坐标轴的参数 124
6.1.5 图形窗口 129
6.2 图形标注 132
6.2.1 坐标轴标注 132
6.2.2 在图形中添加文本标注和图例 133
6.3 专业图形 134
6.3.1 条形图与区域图 134
6.3.2 饼图 140
6.3.3 柱形图 142
6.3.4 绘制离散性数据的图形 144
6.3.5 绘制速度与方向的图形 148
6.3.6 等高线 152
第7章 稀疏矩阵 155
7.1 稀疏矩阵的概念 155
7.1.1 稀疏矩阵的保存 155
7.1.2 创建稀疏矩阵 155
7.2 查看矩阵元素 159
7.2.1 查看非零元素的信息 160
7.2.2 用图形方式查看稀疏矩阵的信息 160
7.2.3 查找矩阵中的非零元素 162
7.3 邻接矩阵及图形 162
7.3.1 使用邻接矩阵绘图 163
7.3.2 Bucky Ball 163
7.3.3 图形与稀疏矩阵的特征 165
7.4.1 标准数学函数处理稀疏矩阵 167
7.4 稀疏矩阵的操作 167
7.4.2 稀疏矩阵的交换与重新排序 168
7.4.3 稀疏矩阵的分解 172
7.4.4 稀疏矩阵的解线性方程求解 175
7.4.5 稀疏矩阵的特征值与奇异值 181
第8章 字符数组 184
8.1 字符数组 185
8.1.1 字符与数值的相互转换 185
8.1.2 创建二维字符数组 185
8.2 字符串的比较 186
8.2.1 比较两个字符串 186
8.2.2 用运算符比较字符串 187
8.2.3 字符串中字符的分类 188
8.3 字符串的查找与替换 189
8.4 字符串与数值的转换 190
9.1 多维数组的概念 193
第9章 多维数组 193
9.2 多维数组的创建 194
9.2.1 扩展二维数组创建多维数组 194
9.2.2 用函数创建多维数组 195
9.3 多维数组的引用 197
9.4 改变多维数组的形状 197
9.4.1 删除多维数组中“大小为1的维” 199
9.4.2 多维数组的转置 200
9.5 多维数组的计算 200
9.5.1 处理矢量的函数 200
9.5.2 逐个处理数组元素的函数 201
9.5.3 处理位面或矩阵的函数 203
9.6 多维数据的组织 204
10.1.1 用赋值方式创建结构体 206
10.1 结构体 206
第10章 结构体与单元数组 206
10.1.2 用函数struct创建结构体 207
10.1.3 访问结构体中的数据 208
10.1.4 添加或删除结构体中的字段 210
10.1.5 处理结构体的数据 210
10.1.6 组织结构体的数据 211
10.1.7 结构体的嵌套 213
10.2 单元数组 214
10.2.1 创建单元数组 215
10 2.2 获取单元数组的数据 217
10.2.3 删除单元数组中的单元 218
10.2.4 改变单元数组的形状 219
10.2.5 用单元数组作为变量 219
10.2.6 嵌套单元数组 221
10.2.7 含有结构体的单元数组 222
10.2.8 单元数组与数值数组之间的转换 223
第11章 MATLAB编程 224
11.1 脚本程序 225
11.2 函数程序 226
11.2.1 函数程序的结构 226
11.2.2 函数命名 228
11.2.3 函数的工作过程 228
11.2.4 检查函数的参数个数 229
11.2.5 参数中变量传递的个数 230
11.3 局部变量与全局变量 232
11.4 数据类型 233
11.5 运算符 234
11.5.1 算术运算符 234
11.5.2 关系运算符 235
11.5.3 逻辑运算符 235
11.5.4 运算符的优先级 237
11.6 流程控制 238
11.6.1 if、else与elseif语句 239
11.6.2 switch语句 240
11.6.3 while语句 242
11.6.4 for语句 242
11.6.5 break语句 243
11.6.6 try...catch语句 243
11.6.7 return语句 244
11.7 子函数 245
11.8 私有函数 246
11.9 数组的下标引用 247
11.9.1 删除矩阵中的元素 248
11.9.2 高级下标引用 249
11.10 字符串求值 250
11.11.1 用函数eval和lasterr处理错误 251
11.11 错误与警告 251
11.11.2 显示错误和警告信息 253
11.12 时间与日期 253
11.12.1 日期格式 254
11.12.2 日期字符串输出格式 256
11.12.3 当前日期与时间 257
11.12.4 时间与日期工具函数 257
11.12.5 计时器 258
11.13 获取用户输入 260
11.14 优化程序代码 261
11.14.1 矢量化程序代码 261
11.14.2 为数组预分配存储空间 262
11.14.3 内存管理 263
12.1.2 创建对象 264
12.1.1 面向对象编程的特性 264
12.1 类与对象的概念 264
第12章 MATLAB的类与对象 264
12.1.3 调用类的方法 265
12.1.4 私有方法 265
12.1.5 调试类的方法 266
12.1.6 设置类的目录 266
12.1.7 数据结构 267
12.2 设计用户的MATLAB类 267
12.2.1 MATLAB类的标准方法 267
12.2.2 构造方法 268
12.2.3 display方法 269
12.2.4 访问对象数据 269
12.2.5 定义对象的end索引方法 272
12.2.6 subsindex方法 272
12.3.1 类polynom的构造方法 273
12.3 创建一个多项式类 273
12.3.2 类polynom的两个转换方法 274
12.3.3 类polynom的display方法 277
12.3.4 类polynom的subsref方法 277
12.3.5 重载算术运算符 278
12.3.6 重载函数 281
12.4 类的继承与聚合 284
12.4.1 继承与聚合简述 284
12.4.2 创建类asset及其子类 284
12.4.3 设计类stock 291
12.4.4 创建类portfolio 299
12.5 对象的存取 303
12.5.1 定义类portfolio的saveobj方法 303
12.5.2 定义类portfolio的loadobj方法 304
12.6 对象的优先级及方法调用的次序 305