第1部分 入门知识 1
第1章 MATLAB基础概述 1
1.1 MATLAB科学计算概述 1
1.2 MATLAB科学计算的优势 3
1.3 MATLAB工作环境 4
1.3.1 操作界面的菜单栏 4
1.3.2 桌面平台的工具栏 13
1.3.3 桌面组件 14
1.3.4 属性设置 15
1.3.5 工作空间常用命令 20
1.4 功能模块 20
1.4.1 基础工具 21
1.4.2 控制 22
1.4.3 实时目标系统 23
1.4.4 应用接口 24
1.4.5 数学与金融 24
1.4.6 信号通信处理及系统开发 26
1.4.7 测试测量 26
1.4.8 其他工具箱 27
1.5 数据输入/输出与文件操作 27
1.5.1 数据输入与输出 27
1.5.2 文件的打开与关闭 30
1.5.3 二进制文件的读/写操作 31
1.5.4 文本文件的读/写操作 32
1.5.5 数据文件定位 33
1.6 在线帮助系统 34
1.7 MATLAB的学习方法 37
1.8 MATLAB的安装方法 37
第2章 MATLAB程序设计 43
2.1 程序基础 43
2.2 数据类型和运算 45
2.2.1 常量和变量 45
2.2.2 数值数据 46
2.2.3 字符数据 48
2.2.4 逻辑数据类型 51
2.2.5 日期和时间 53
2.2.6 单元数组和结构体 54
2.3 数组与矩阵 56
2.3.1 创建数组 56
2.3.2 数组运算 58
2.3.3 数组处理函数 60
实例2-1 判断数组元素是否在另一数组中出现 68
2.3.4 矩阵及其运算 69
实例2-2 简单线性方程组求解 70
2.3.5 特殊矩阵 71
实例2-3 利用特殊矩阵快速构造矩阵 72
2.3.6 稀疏矩阵及函数 73
实例2-4 稀疏矩阵函数的巧用 74
2.4 控制语句 76
2.4.1 for循环语句 76
2.4.2 while循环语句 77
2.4.3 if-else-end语句 77
2.4.4 switch-case语句 78
2.4.5 try-catch语句 79
实例2-5 判断矢量单调性 79
2.5 M函数 81
2.5.1 M函数构造规则 81
2.5.2 输入/输出参数 82
2.5.3 函数调用 83
2.5.4 用Feval进行函数运算 83
实例2-6 矢量单调性(包含子函数调用) 86
2.6 程序调试 88
实例2-7 程序调试实例 89
2.7 MATLAB编程技巧 91
2.8 综合实例 93
实例2-8 汉诺塔问题 93
实例2-9 结构体的处理 94
第3章 绘图与界面 97
3.1 二维绘图 97
3.1.1 plot函数及设置 97
实例3-1 绘制二维图的应用实例 101
3.1.2 子图 102
3.1.3 特殊二维图形 103
3.2 三维绘图 105
3.2.1 三维曲线图 105
3.2.2 特殊三维图形 107
实例3-2 绘制三维图应用实例 109
3.3 打印和导出图形 110
3.3.1 用菜单打印和导出 111
3.3.2 命令行打印和导出 113
3.4 图形用户界面 115
3.4.1 图形用户界面 115
3.4.2 GUI如何工作 116
3.4.3 创建GUI途径 116
3.5 用GUIDE创建GUI 117
3.5.1 新建一个GUI 117
3.5.2 添加组件 119
3.5.3 GUI的存储 122
3.5.4 GUI的编程 123
3.6 菜单和工具栏 126
3.6.1 菜单的创建 126
3.6.2 工具栏的创建 129
3.7 组件 130
3.7.1 组件类型 130
3.7.2 组件属性 131
3.8 综合实例 132
实例3-3 稀疏矩阵排列图 132
实例3-4 交互式用户界面设计实例 133
第4章 Simulink仿真 134
4.1 Simulink概述 134
4.2 Simulink模块库 136
4.2.1 公共模块库 136
4.2.2 功能模块库 136
4.3 创建Simulink模型 137
4.3.1 建立或打开仿真结构图 137
4.3.2 菜单与工具栏功能 139
4.3.3 模块处理 139
4.3.4 线的处理 141
4.3.5 运行仿真 142
实例4-1 仿真结构图应用实例 146
4.4 子系统与封装 149
4.4.1 子系统 149
实例4-2 子系统设计应用实例 150
4.4.2 封装 152
实例4-3 封装设计应用实例 154
4.5 Simulink模型调试 156
4.5.1 Simulink调试器 156
4.5.2 命令行调试 158
4.6 S函数 160
4.6.1 S函数模块 160
4.6.2 S函数工作原理 162
4.6.3 M文件的S函数编写 163
4.6.4 M文件的S函数模板 164
实例4-4 S函数应用实例 166
4.7 综合实例 168
实例4-5 食饵—捕食者模型 168
实例4-6 S函数种群竞争模型 169
实例4-7 动画演示单摆运动 172
第2部分 MATLAB在科学计算中的应用 175
第5章 线性方程组求解 175
5.1 直接解法 176
5.1.1 Gauss消去法 176
实例5-1 Gauss消去法应用实例 177
5.1.2 选主元Gauss消去法 178
实例5-2 选主元Gauss消去法应用实例 178
5.1.3 Cholesky分解法 180
实例5-3 Cholesky分解法应用实例 181
5.2 迭代法 181
5.2.1 Jacobi迭代法 182
实例5-4 Jacobi迭代法应用实例 182
5.2.2 Gauss-Seidel迭代法 183
实例5-5 Gauss-Seidel迭代法应用实例 183
5.2.3 超松弛迭代法 184
实例5-6 超松弛迭代法应用实例 184
5.2.4 共轭梯度法 185
实例5-7 共轭梯度法应用实例 186
5.2.5 Bicg迭代法 186
实例5-8 Bicg迭代法应用实例 187
5.2.6 Bicgstab迭代法 188
实例5-9 Bicgstab迭代法应用实例 188
5.3 综合实例 189
实例5-10 Dirichlet问题中的线性方程组求解问题 189
实例5-11 两点边值问题差分法线性方程组求解问题 191
第6章 非线性方程(组)求解 194
6.1 二分法 194
实例6-1 二分法应用实例 195
6.2 迭代法 196
6.2.1 牛顿法 196
实例6-2 牛顿法应用实例 197
6.2.2 割线法 198
实例6-3 割线法应用实例 198
6.2.3 拟牛顿法 199
实例6-4 拟牛顿法应用实例 199
6.2.4 Halley迭代法 200
实例6-5 Halley迭代应用实例 200
6.3 综合实例 201
实例6-6 牛顿法求解非线性方程组 201
实例6-7 Halley迭代法求解非线性方程组 203
第7章 矩阵特征值求解 205
7.1 非对称特征值问题 205
7.1.1 幂法 205
实例7-1 幂法实例 206
7.1.2 反幂法 207
实例7-2 反幂法实例 208
7.1.3 QR方法 210
实例7-3 QR方法实例 210
7.2 对称特征值问题 212
7.2.1 对称QR法 212
实例7-4 对称QR方法实例 212
7.2.2 Jacobi方法 214
实例7-5 Jacobi方法实例 215
7.2.3 二分法 218
实例7-6 二分法实例 218
7.3 综合实例 221
实例7-7 病态实阵的特征值问题 221
实例7-8 二点边值问题差分离散矩阵特征值实例 221
第8章 微分方程(组)求解 224
8.1 单步法 224
8.1.1 显式Euler方法 224
实例8-1 显式Euler方法实例 225
8.1.2 改进的Euler方法 226
实例8-2 改进的Euler方法实例 227
8.1.3 Runge-Kutta方法 228
实例8-3 Runge-Kutta方法实例 229
8.2 线性多步法 231
8.2.1 Adams外插法 231
实例8-4 Adams外插法实例 232
8.2.2 Adams内插法 234
实例8-5 Adams内插法实例 235
8.3 有限差分法 238
8.3.1 网格剖分 238
8.3.2 数值微分 238
8.3.3 差分定解 239
实例8-6 差分法边值问题实例 239
8.4 常微分方程组求解 241
实例8-7 微分方程组实例 241
8.5 综合实例 242
实例8-8 一维抛物型方程差分法求解 242
实例8-9 二维波动方程求解 245
第9章 拟合与插值 249
9.1 插值运算 249
9.1.1 一维插值 249
实例9-1 一维插值实例 252
9.1.2 二维插值 254
实例9-2 二维插值实例 255
9.2 曲线拟合 256
9.2.1 多项式最小二乘拟合 256
实例9-3 多项式拟合实例 257
9.2.2 曲线拟合工具箱 259
实例9-4 曲线拟合工具箱应用实例 261
9.3 综合实例 262
实例9-5 温度曲线问题 262
实例9-6 根据山区地形选点海拔确定地貌 264
实例9-7 流水量与供水量问题 265
第10章 优化 268
10.1 方程求根 268
10.2 一维最小值问题 271
10.3 多维最小值问题 272
10.4 线性规划 273
10.4.1 线性规划问题及数学模型 273
10.4.2 线性规划求解 274
实例10-1 线性规划实例 275
10.5 整型规划 276
实例10-2 整型规划实例 277
10.6 0-1规划 282
实例10-3 0-1规划实例 283
10.7 无约束非线性规划 284
10.7.1 一维搜索 285
实例10-4 一维搜索实例 286
10.7.2 黄金分割法 288
实例10-5 黄金分割法实例 289
10.7.3 牛顿法 290
实例10-6 牛顿法无约束非线性规划实例 291
10.8 有约束非线性规划 292
实例10-7 有约束非线性规划实例 293
10.9 二次规划 294
实例10-8 二次规划实例 296
10.1 0综合实例 297
实例10-9 运输问题 297
实例10-10 供应与选址问题 299
实例10-11 连续投资问题 301
第11章 变换及分析 304
11.1 Fourier变换 304
11.1.1 基本Fourier变换 305
实例11-1 函数的Fourier变换 305
11.1.2 基本Fourier逆变换 306
实例11-2 函数的Fourier逆变换 307
11.1.3 离散Fourier变换 308
11.1.4 快速Fourier变换 309
11.2 Laplace变换 312
11.2.1 Laplace变换 312
实例11-3 函数的Laplace变换 313
11.2.2 Laplace逆变换 314
实例11-4 函数的Laplace逆变换 314
11.2.3 Laplace变换与LTI系统 316
11.3 Z变换 316
11.3.1 Z变换 316
11.3.2 Z逆变换 317
11.3.3 Z变换与离散LTI系统 318
11.4 滤波器的设计 320
11.5 综合实例 323
实例11-5 滤波器的设计 323
实例11-6 滤波器的应用 327
第12章 概率及统计分析 329
12.1 概率密度函数与分布函数 329
12.2 随机变量的数字特征 333
12.2.1 数学期望 333
12.2.2 方差与标准差 335
12.2.3 协方差与相关系数 336
12.2.4 中心矩 338
12.2.5 分布函数的统计量 338
12.3 逆分布函数及随机数生成 339
12.3.1 逆分布函数 339
12.3.2 随机数生成 340
实例12-1随机数生成 341
12.4 参数估计 342
实例12-2 参数估计实例 345
实例12-3 统计图实例 350
12.5 假设检验 351
12.5.1 单个正态总体均值的检验 351
实例12-4 单个正态总体均值假设检验实例 352
12.5.2 两个正态总体均值差的检验 353
实例12-5 两个正态总体均值差假设检验实例 354
12.6 回归分析 354
12.6.1 一元线性回归分析 355
实例12-6 一元线性回归分析实例 355
12.6.2 多元线性回归分析 356
实例12-7 多元线性回归分析实例 357
12.7 综合实例 358
实例12-8 岩石成分分析模型 358
实例12-9 槲寄生问题 358
第13章 数值积分及复变函数 361
13.1 数值积分 361
13.1.1 中点公式 361
13.1.2 Newton-Cotes公式 362
13.1.3 Gauss求积公式 364
13.1.4 三角形上的求积公式 365
13.1.5 MATLAB提供的求积函数 366
实例13-1 数值积分公式比较 368
13.2 复变函数 369
13.2.1 复变函数的极限求导和积分 369
13.2.2 复变函数的Taylor展开 370
13.2.3 复变函数图像 371
13.2.4 留数 371
实例13-2 复变函数留数的计算及应用 372
13.3 综合实例 372
实例13-3 复变函数洛朗展开 372
实例13-4 三角形上的积分实例 373
第14章 有限元分析法 375
14.1 网格生成 375
14.1.1 网格生成工具 375
14.1.2 数据保存 377
实例14-1 网格生成实例 378
14.2 协调元 379
实例14-2 协调元实例 380
14.3 非协调元 382
实例14-3 非协调元实例 383
14.4 离散格式 384
14.5 构造线性方程组 385
实例14-4 构造线性方程组实例 386
14.6 线性方程组求解及误差分析 388
实例14-5 线性方程组求解及误差分析实例 388
14.7 综合实例 390
实例14-6 变系数泊松方程有限元求解 390
实例14-7 求解Helmholtz方程 392
第15章 工程实例 395
15.1 特征值问题求解 395
15.1.1 网格生成 395
15.1.2 离散格式 396
15.1.3 线性方程组特征值问题求解及误差 397
15.1.4 程序实现 398
实例15-1 特征值问题求解程序 398
15.2 对流扩散方程求解 400
15.2.1 网格生成 401
15.2.2 离散格式 402
15.2.3 线性方程组求解及误差 402
15.2.4 程序实现 403
实例15-2 对流扩散方程求解程序 403
15.3 热传导方程求解 408
15.3.1 网格生成 408
15.3.2 离散格式 409
15.3.3 线性方程组的求解及误差 410
15.3.4 程序实现 410
实例15-3 热传导方程求解程序 410