第1章 MATLAB 7.0简介 1
1.1 MATLAB的特点 1
1.1.1 MATLAB的基本特点 1
1.1.2 MATLAB7.0的新特点 2
1.2 MATLAB桌面简介 3
1.2.1启动按钮 4
1.2.2命令窗口 4
1.2.4工作空间窗口 5
1.2.3命令历史窗口 5
1.2.5当前目录浏览器 7
1.3 MATLAB的帮助系统 8
1.3.1帮助浏览器 8
1.3.2 help函数和doc函数 8
第2章 数组和矩阵 10
2.1表达式 10
2.1.1变量 10
2.1.2数值表示 10
2.1.4函数 11
2.1.3运算符 11
2.2.1用增量法构造数组 12
2.2构造数组 12
2.2.2用linspace函数构造数组 13
2.3构造矩阵 13
2.3.1简单的创建方法 13
2.3.2构造特殊矩阵 14
2.3.3聚合矩阵 15
2.3.4组合不同类型的数据 17
2.4.2线性索引 18
2.4获取矩阵的元素 18
2.4.1获取单个元素 18
2.4.3获取多个元素 19
2.5获取与矩阵有关的信息 20
2.6缩放和重塑矩阵 22
2.6.1放大矩阵 22
2.6.2重塑矩阵 23
2.7.1导入文本数据 25
2.7.2导入MAT文件数据 25
2.7导入数据 25
2.7.3使用Import Wizard工具 26
2.8矩阵的代数运算 26
2.9矩阵的逻辑运算 27
第3章 数值计算 29
3.1方程求解 29
3.1.1求解线性方程组 29
3.1.2乔累斯基、LU和QR分解 32
3.1.3特征值 34
3.2多项式 35
3.2.1多项式求根 36
3.2.2多项式评价 37
3.2.3卷积和去卷积 37
3.2.4多项式求导 37
3.2.5多项式曲线拟合 38
3.3 插值 39
3.3.1一维插值 39
3.3.2二维插值 40
3.3.3插值和多维数组 42
3.4数据分析和统计 43
3.4.1面向列的数据集合 44
3.4.2基本数据分析函数 45
3.4.3方差和相关系数 47
3.4.4有限差分 48
3.4.5数据预处理 49
3.4.6回归分析 50
3.4.7曲线拟合 53
4.1 M文件编辑器 64
4.2脚本式M文件和函数式M文件 64
第4章 M文件设计 64
4.3流控制 66
4.4.函数变量 68
4.4.1检查输入变量的个数 68
4.4.2传递变量 70
4.4.3解包varargin的内容 70
4.4.4打包varargout 70
4.4.5变量列表中的varargin和varargout 71
4.4.6返回输出变量 71
4.5子函数和私有函数 71
4.6.1 函数句柄 72
4.6编程技巧 72
4.6.2函数的函数 73
4.6.3向量化 74
4.6.4预分配内存空间 74
4.7面向对象编程 74
第5章 图形用户界面(GUI)设计 81
5.1 GUIDE简介 81
5.1.1启动GUIDE 81
5.1.3 GUIDE模板 82
5.1.2输出编辑器 82
5.1.4运行GUI 83
5.1.5 GUIFIG文件和M文件 84
5.2创建GUI 85
5.2.1设计GUI 85
5.2.2完成GUI 85
5.2.3设置GUI组件的属性 90
5.2.4 GUI编程 93
5.2.5保存和运行GUI 98
6.1.2 MATLAB编译器的使用 99
6.1.1 MATLAB编译器4.0的新特点 99
6.1 MATLAB编译器4.0 99
第6章 编译和接口 99
6.1.3编译独立应用程序 100
6.2 MATLAB与Visual Basic接口 103
6.2.1 COM生成器1.1 103
6.2.2用COM生成器生成组件 106
6.2.3在VisualBasic中使用组件 107
6.2.4使用COM生成器时可能遇到的问题 112
7.1线形图、条形图和面积图 113
第7章 二维图形绘制 113
7.2饼图 114
7.3误差条图 114
7.4散点图 115
7.5直方图 116
7.6对数坐标图和半对数坐标图 117
7.7多轴图 118
7.8极坐标图 119
7.9等值线图 120
7.10向量图 123
7.11帕累托图 124
7.12火柴杆图 125
7.13彗星图 126
7.14罗盘图 127
7.15羽列图 127
7.16阶梯图 128
7.17玫瑰花图 129
7.18函数的图形 130
7.19动画 131
7.19.1以电影方式创建动画 131
7.19.2以重绘方式创建动画 133
第8章 交互绘图与编辑 135
8.1绘图工具 135
8.1.1图形窗口的工具条 135
8.1.2绘图工具——交互绘图 136
8.1.3使用绘图工具 141
8.1.4用工作空间中的变量绘图 144
8.1.5指定数据源 146
8.1.6编辑图形 148
8.1.7使用图形编辑模式 148
8.1.8保存结果 150
8.2.1数据光标——交互显示数据的值 152
8.2数据查看工具 152
8.2.2二维和三维图形的缩放 156
8.2.3平移图形 157
8.2.4三维视图的交互旋转 157
8.2.5分析图形数据 158
8.3标注图形 162
8.3.1如何标注图形 163
8.3.2对齐工具——对齐和分布对象 168
8.3.4添加坐标系标签 171
8.3.3添加标题 171
8.3.5添加文本标注 173
8.3.6添加箭头和直线 178
第9章 句柄图形对象 179
9.1面向对象的思维方式 179
9.2句柄图形对象的组织 179
9.2.1句柄图形对象的层次结构 179
9.2.2句柄图形对象的类型 180
9.3.1用于绘图的图形窗口 181
9.3图形窗口——Figure对象 181
9.3.2 Figure对象用做GUI 182
9.3.3 Root对象——Figure对象的父对象 182
9.4核心图形对象 182
9.4.1核心图形对象简介 183
9.4.2创建核心图形对象 184
9.4.3父对象 185
9.4.4高级函数和低级函数 185
9.5.1创建绘图对象 186
9.5绘图对象 186
9.4.5简化的调用语法 186
9.5.2编程识别绘图对象 187
9.5.3链接图形和变量 187
9.5.4保存与MATLAB以前版本相兼容的图形 188
9.6 Annotation对象 189
9.7组对象 189
9.7.1创建组对象 190
9.7.2变换对象 190
9.8对象的属性 194
9.8.1设置和查询属性值 195
9.8.2默认属性 197
9.8.3示例——设置默认线型 198
9.9句柄操作 199
9.9.1获取对象句柄 199
9.9.2当前图形、坐标轴和对象 200
9.9.3用属性值查找对象——findobj函数 200
9.9.5删除对象 203
9.9.4复制对象 203
9.10句柄图形的视图控制 204
9.10.1指定图形输出的目标区域 204
9.10.2设置图形窗口和坐标系 205
9.10.3测试持续绘图(Hold)状态 207
9.10.4防止Figure和Axes对象成为绘图目标区域 208
9.10.5关闭请求函数 209
9.11把句柄保存到M文件 209
9.12可包含其他对象的对象 210
9.13.1图形对象的回调属性 212
9.13句柄图形对象的回调 212
9.13.2函数句柄回调 213
9.14Figure对象 214
9.14.1在面板上锚定图形窗口 214
9.14.2与窗口锚定有关的属性 214
9.14.3确定图形窗口的位置和大小 215
9.15坐标系属性 216
9.15.1标签和外观属性 216
9.15.2坐标系的位置和大小 217
9.15.3在同一图形窗口中显示多个坐标系 220
9.15.4单个坐标轴的控制 223
9.15.5使用多个x轴和y轴 225
第10章 定制二维图形 227
10.1基本图形元素 227
10.1.1直线段、多义线和曲线——Line对象 227
10.1.2矩形、圆角矩形、椭圆、圆及对应的区域图形——Rectangle对象 230
10.1.3多边形——Patch对象 232
10.1.4文本——Text对象 233
10.2定制二维图形 234
第11章 三维模型的建立 236
11.1线形模型的建立 236
11.1.1参数曲线 236
11.1.2样条曲线 237
11.1.3用给定数据绘图 238
11.1.4三维等值线图 239
11.1.5三维向量图 240
11.2曲面模型的建立 241
11.2.1函数表示的曲面 241
11.2.2二次曲面 243
11.2.3样条曲面 245
11.2.4用给定数据绘图 246
11.2.5非均匀采样数据的曲面图 250
11.2.6表面图绘制的数据格式问题 251
11.3多边形对象模型 254
11.3.1patch函数 255
11.3.2用patch函数创建面片 256
11.4消隐控制 257
12.1.1主要的着色技术 258
12.1.2颜色查找表 258
12.1网格图、刻面图和曲面图的着色 258
第12章 三维模型的着色 258
12.1.3索引着色表面——直接映射和比例化映射 261
12.1.4示例——表面曲率向颜色映射 263
12.1.5真彩色表面 263
12.1.6纹理映射 264
12.2多边形模型的着色 265
12.2.1面片只有一个小面的情况 265
12.2.2面片有多个小面的情况 266
12.2.3控制面片着色的属性 268
12.2.4面片边的着色 268
第13章 光照与材质 270
13.1Light对象 270
13.2光照命令 270
13.3给场景添加光照 270
13.4影响光照效果的属性 271
13.5光照算法 272
13.6.1镜面反射和漫反射 273
13.6.2环境光 273
13.6图形对象的反射特性——材质 273
13.6.3镜面反射指数 274
13.6.4镜面反射光的颜色 274
13.6.5背面光照 274
13.6.6 material函数 275
13.6.7一个例子 276
第14章 透明性 278
14.1使对象透明 278
14.1.1alpha值 278
14.1.2与透明性相关的属性 278
14.2指定一个单独的透明度值 279
14.3将数据映射给透明度 280
14.3.1alpha数据数组的大小 280
14.3.2将alpha数据映射到alpha查找表 281
14.3.3示例——将数据映射到颜色或透明度 281
14.4选择一个alpha查找表 281
第15章 交互操作 284
15.1视点和相机 284
15.1.1用方位角和仰角设置视点 284
15.1.2交互工具——相机 285
15.2.2交换主轴 286
15.2用相机工具条进行场景空间变换 286
15.2.1相机工具条 286
15.2.3盘旋 287
15.2.4平移 288
15.2.5缩放 289
15.2.6滚动 290
15.2.7漫游 290
15.3用与相机有关的函数实现场景空间变换 291
15.3.1与相机有关的函数 291
15.3.2示例1——平移图像 292
15.3.3示例2——穿越场景 293
15.3.4低级相机属性 297
15.4 投影 297
15.4.1正交投影和透视投影 297
15.4.2投影类型和相机位置 298
15.4.3坐标轴方向上的显示比率 299
第16章 MATLAB提供的科学计算可视化工具 302
16.1剖面图 302
16.1.1slice函数 303
16.1.2切片等值线图 304
16.1.3切片流线图 305
16.2表现流动特征 308
16.2.1流线图 308
16.2.2流锥图 309
16.2.3流沙图 312
16.2.4流带图 314
16.2.5流管图 315
16.2.6卷曲图 316
16.3等值面 317
16.4等帽盖 318
16.5减少面片上小面的个数 320
16.6减少体数据集中元素的个数 321
16.7缩小面片中的小面 322
16.8子体积 323
16.9体包围盒 324
16.10计算几何问题 324
16.10.1散点数据的三角化和插值 324
16.10.2高维散点集的剖分和插值 329
参考文献 334