第1章 MATLAB6.0入门 1
1-1 MATLAB简介 1
1-2 MATLAB6.0系统需求 2
1-2-1 硬件需求 2
1-2-2 软件需求 2
1-3 MATLAB6.0的安装过程 2
1-4 认识MATLAB6.0的新工作环境 4
1-4-1 MATLAB6.0的启动和退出 4
1-4-2 全新的MATLAB6.0命令窗口 5
1-5 MATLAB6.0新功能和新特性 8
1-5-1 软件更容易使用 8
1-5-2 方便灵活的命令窗口 9
1-5-3 直观的系统演示和在线帮助 10
1-5-4 MATLAB6.0的新特性 15
2-2 正确设置工作路径 17
2-1 MATLAB的基本程序设计原则 17
第2章 程序设计基础 17
2-3 常量和变量 18
2-4 程序的运算符 19
2-4-1 算术运算符 20
2-4-2 关系运算符 21
2-4-3 逻辑运算符 22
2-4-4 常用的逻辑函数 23
2-5 数据类型 24
2-6 程序控制语句 26
2-6-1 for循环语句 26
2-6-2 while循环语句 27
2-6-3 条件选择语句if 28
2-6-4 switch分支结构语句 29
2-6-5 return语句 30
2-7-2 MATLAB文件的系统命令 31
2-7-1 M文件的类型 31
2-7 M文件 31
2-7-3 M文本编辑器 32
2-7-4 命令文件 33
2-7-5 函数文件 34
2-8 字符数组 35
2-8-1 字符数组的定义 35
2-8-2 字符与数值的相互转换 36
2-8-3 字符串的比较 37
2-8-4 二维字符数组 37
2-8-5 字符型单元数组 38
2-9 结构数组 39
2-9-1 建立结构数组 39
2-9-2 对结构数组的操作 41
2-9-3 结构数组的运算 43
2-10-1 创建单元数组 44
2-10 单元数组 44
2-10-2 单元数组的显示 45
2-10-3 单元数组的运算 46
2-10-4 单元数组的变形 47
2-10-5 单元数组的嵌套 47
2-11 多维数组 48
2-11-1 多维数组的生成 48
2-11-2 多维数组的有关操作 51
2-11-3 多维数组的变形 52
2-11-4 多维数组的运算 54
2-12 时间和日期 56
2-12-1 日历函数calendar 56
2-12-2 时间函数clock 56
2-12-3 相看CPU时间 56
2-12-4 日期函数date 57
2-12-5 秒表定时器 57
3-1 矩阵基础 59
3-1-1 矩阵的定义和简单输入 59
第3章 MATLAB的数值计算 59
3-1-2 利用函数命令来创建矩阵 60
3-1-3 矩阵的求和 62
3-1-4 矩阵的下标 63
3-1-5 矩阵的转置 64
3-1-6 矩阵的对角元素 65
3-1-7 矩阵加减运算 66
3-1-8 矩阵的乘积 67
3-1-9 矩阵的冒号运算符 68
3-2 利用M文件来创建矩阵 69
3-3 矩阵的乘方和指数运算 70
3-3-1 矩阵的乘方 70
3-3-2 矩阵的指数运算 71
3-4 矩阵的除法和求解线性方程组 71
3-5 行列式及矩阵的逆 72
3-5-1 方阵的行列式与逆矩阵 72
3-6-1 特征值分解 73
3-5-2 伪逆矩阵 73
3-6 特征值分解和奇异值分解 73
3-6-2 矩阵的奇异值分解 74
3-7 LU、QR和Cholesky分解 75
3-7-1 矩阵的LU分解 75
3-7-2 矩阵的QR分解 76
3-7-3 矩阵的Cholesky分解 76
3-7-4 多项式的表示和处理多项式的函数 77
3-7-5 多项式的根和系数 78
3-7-6 多项式的值和特征多项式 78
3-7-7 多项式的乘法和除法 79
3-7-8 多项式的导数 80
3-8 多项式的部分分式 80
3-8-1 将两个多项式的分式表示为部分分式,可以用函数residue来执行 80
3-8-2 函数residue还可以用来对多项式的部分分式作逆运算 81
3-9 多项式的拟合曲线 81
3-10 多项式插值 82
3-10-1 一维插值 83
3-10-2 二维插值 84
3-10-3 三维及多维插值 85
第4章 符号计算 87
4-1 在线帮助和系统演示 88
4-1-1 在线帮助 88
4-1-2 系统演示程序 90
4-2 创建和使用符号对象 90
4-2-1 符号变量和表达式的定义 90
4-2-2 符号对象调用格式 91
4-2-3 函数sym的其他使用 93
4-2-4 符号函数的生成 94
4-3 运算符 95
4-4 微积分 96
4-4-1 符号微分 97
4-4-2 符号积分 99
4-4-3 求极限 100
4-4-4 级数求和 101
4-4-5 泰勒(Taylor)级数的展开 101
4-5 线性代数 102
4-5-1 基本线性代数运算 102
4-5-2 Jordan标准形 106
4-5-3 奇异值分解 107
4-5-4 特征多项式 108
4-6 符号表达式的化简 109
4-6-1 collect函数 109
4-6-2 expand函数 110
4-6-3 factor函数 110
4-6-4 homer函数 111
4-6-5 numden函数 111
4-6-6 simple和simplify函数 111
4-6-7 subexpr和subs函数 113
4-7 方程求解 114
4-7-1 求解代数方程 115
4-7-2 求解微分方程 119
4-8 常用特殊符号函数 120
4-9 MAPLE的运用 123
4-9-1 对特殊函数的调用 123
4-9-2 MAPLE库函数在线帮助 124
4-9-3 调用MAPLE库函数 124
第5章 高级编程技术 127
5-1 数据输入输出 127
5-1-1 数据输入 127
5-1-2 数据输出 128
5-2 文件读写I/O命令函数 130
5-2-1 fopen函数 130
5-2-2 fclose函数 131
5-2-3 fprintf函数 131
5-2-5 fread函数 132
5-2-6 fwrite函数 132
5-2-4 fscanf函数 132
5-2-7 fgetl函数 133
5-2-8 frewind函数 134
5-2-9 fseek函数 134
5-2-10 ftell函数 135
5-3 图像文件的读写与显示 135
5-4 使用外部函数优化程序 138
5-5 MATLAB和其他语言的接口 138
5-5-1 编译程序环境设置 139
5-5-2 Mex文件及其结构 141
5-5-3 Mex技术应用举例 143
5-6 内存管理 144
第6章 MATLAB的绘图功能 147
6-1 基本绘图函数 147
6-2 二维图形的绘制 147
6-2-1 绘制二维图形的一般步骤 147
6-2-2 plot函数的调用格式 148
6-3-1 色彩、线型和数据点标志 150
6-3 基本的绘图控制 150
6-3-2 坐标轴的控制 152
6-3-3 坐标网格 153
6-3-4 图形的标注和图例 153
6-3-5 图形的叠加功能 154
6-3-6 离散数据点的绘制 155
6-4 MATLAB的图形窗口 156
6-4-1 建立图形窗口 156
6-4-2 子图 157
6-5 三维图形的绘制 158
6-5-1 三维曲线图形的绘制 158
6-5-2 创建三维图形的基本步骤 159
6-5-3 网格和曲面图形的绘制 160
6-6 伪彩色图 161
6-7-1 三维图的光照效果 163
6-7-2 视角的控制 163
6-7 三维图形的控制 163
6-7-3 坐标轴的控制 164
6-8 绘制特殊图形 165
6-8-1 区域图 165
6-8-2 直方图 166
6-8-3 饼图的绘制 168
6-8-4 柱状图的绘制 169
6-8-5 枝干图的绘制 170
6-9 从图形窗口进行交互控制 172
6-9-1 使用“编辑”菜单项进行控制 173
6-9-2 利用“插入”菜单项进行控制 174
6-9-3 利用菜单进行其他控制 175
6-10 图形的打印和输入 176
6-10-1 图形打印的菜单操作方式 176
6-10-2 利用命令打印图形 178
6-11 MATLAB6.0的绘图命令 179
7-1 安装Notebook 183
第7章 Notebook的使用 183
7-1-1 MATLAB6.0中Notebook的安装 184
7-1-2 MATLAB5.0~5.3版本如何安装Notebook 186
7-2 启动Notebook 186
7-2-1 Word中启动Notebook 187
7-2-2 从MATLAB6.0中启动Notebook 188
7-2-3 启动失败的补救措施 188
7-3 Notebook的使用环境 190
7-3-1 Notebook菜单简介 190
7-3-2 右键弹出菜单 196
7-4 Notebook的使用 197
7-4-1 中文M-book模板的初始化 197
7-4-2 单元的定义和使用 198
7-4-3 计算区、循环运行 202
7-4-4 输出的控制 204
第8章 稀疏矩阵 207
8-1-2 创建稀疏矩阵 208
8-1 稀疏矩阵的概念 208
8-1-1 稀疏矩阵的保存 208
8-2 基本稀疏矩阵 211
8-2-1 单位稀疏矩阵 211
8-2-2 随机稀疏矩阵 212
8-2-3 正态分布的随机稀疏矩阵 213
8-2-4 稀疏对称随机矩阵 215
8-3 满矩阵和稀疏矩阵的转换 216
8-3-1 查找非0元素的下标 216
8-3-2 稀疏矩阵与满矩阵的转换 217
8-4 载入稀疏矩阵 218
8-5 稀疏矩阵的非0元素操作 219
8-5-1 求非0元素的个数 219
8-5-2 非0元素 219
8-5-3 非0元素存储空间数 220
8-5-4 非0元素的计算 220
8-5-5 非0元素用1替换 221
8-6 稀疏矩阵的可视化 222
8-7 稀疏矩阵的运算 223
8-7-1 稀疏矩阵的运算规则 223
8-7-2 稀疏矩阵的排序 224
8-7-3 范数、条件数和秩 226
8-7-4 稀疏矩阵的特征值和奇异值 227
8-7-5 稀疏矩阵的分解 228
8-8 系数矩阵为稀疏矩阵的线性方程 234
8-8-1 双共轭梯度法 234
8-8-2 双共轭梯度稳定法 236
8-8-3 二次共轭梯度法 238
8-8-4 广义最小残差法 239
第9章 MATLAB中的图形用户界面 241
9-1 初识图形用户界面 241
9-1-1 一个简单的例子 242
9-1-2 图形用户界面设计过程和设计原则 246
9-2 MATLAB语言图形界面编程基础 248
9-2-1 窗口对象及其属性 249
9-2-2 创建常用的对话框 252
9-2-3 基本控件和控件属性 253
9-2-4 菜单对象 255
9-3 图形用户界面设计详例 256
9-3-1 设计图形界面的准备 256
9-3-2 利用控制对象面板设计外观草图 257
9-3-3 添加新的图形对象 258
9-3-4 利用属性编辑器来添加属性内容 262
9-3-5 界面的修饰 263
9-3-6 设计界面的功能测试 265
9-3-7 提供的配套文件和数据 265
附录A 基本命令函数目录 269
附录B MATLAB命令按字母顺序索引 303
附录C Toolbox函数 317