内容介绍
在各行各业的工程实践中,有大量的科学计算工作需要完成。传统的计算方式一般需要较长的周期,相比之下开发效率极高的MATLAB是一个更好的选择。在MATLAB中,编程细节被简化,繁琐的实现过程也被略去,用户可以将更多精力集中于所需要处理的核心问题上。 MATLAB科学计算涉及数学、机械、电子、控制和金融等多个领域。本书以MATLAB科学工程计算为立足点,介绍MATLAB在科学计算领域中如何运用庞大的科学函数库来解决一些实际问题。在函数的选择上兼顾各函数的使用频率和专业性,力求典型全面。本书可作为MATLAB课程的教学用书或者线性代数、概率统计等课程的教学辅助书。
作者介绍
赵彬,软件工程师。沈阳工业大学信号与信息处理硕士,通信工程和工商管理双学士。曾获得沈阳市科学技术进步奖一等奖“工业机器人智能化关键技术研究”。 在国内外会议、杂志上发表多篇文章,获得多项发明专利。 擅长机器人实时控制系统设计、控制算法的研发。
目录
- 第 1章 MATLAB入门 1
- 1.1 MATLAB简介 1
- 1.1.1 MATLAB的产生和发展 1
- 1.1.2 MATLAB的产品构成与
- 特点 2
- 1.1.3 MATLAB与科学计算 4
- 1.2 MATLAB的安装开发环境、
- 窗口简介 4
- 1.2.1 MATLAB的安装 4
- 1.2.2 MATLAB的集成开发
- 环境 9
- 1.2.3 MATLAB的窗口 10
- 1.3 MATLAB程序及其帮助系统 13
- 1.3.1 搜索路径 13
- 1.3.2 M文件 14
- 1.3.3 帮助系统 16
- 1.3.4 学习MATLAB的方法 19
- 第 2章 MATLAB程序设计 21
- 2.1 基本语法 21
- 2.1.1 标识符 21
- 2.1.2 数据类型 23
- 2.1.3 运算符 35
- 2.1.4 流程控制语句 37
- 2.1.5 矩阵与数组 41
- 2.1.6 脚本与函数 43
- 2.2 文件I/O 44
- 2.2.1 使用load/save 44
- 2.2.2 读写文本文件 45
- 2.2.3 读写图像文件 47
- 2.3 MATLAB编程技巧 49
- 2.3.1 高效开发技巧 49
- 2.3.2 提高代码效率 49
- 2.3.3 向量化编程 50
- 2.3.4 并行计算 50
- 2.3.5 稀疏矩阵 51
- 2.4 综合实例 56
- 第3章 可视化编程 58
- 3.1 绘制二维图形 58
- 3.1.1 常用绘图函数 58
- 3.1.2 图形设置 60
- 3.1.3 特殊图形 62
- 3.1.4 特殊坐标系函数 64
- 3.2 绘制三维图形 65
- 3.3 GUIDE工具 69
- 3.3.1 设计工具 69
- 3.3.2 句柄图形对象 70
- 3.3.3 GUIDE简介 72
- 3.3.4 创建GUIDE 74
- 3.3.5 GUI的编程 78
- 3.3.6 CallBack函数 80
- 3.4 综合实例 81
- 第4章 MATLAB求微分与积分 89
- 4.1 极限 89
- 4.2 数值积分 92
- 4.2.1 Int求积分 92
- 4.2.2 梯形法求积分 96
- 4.2.3 辛普森(Simpleson)
- 积分法 98
- 4.2.4 重积分辛普森
- (Simpleson)法 101
- 4.2.5 多重数值积分法 103
- 4.2.6 积分变换 104
- 4.3 数值微分 107
- 4.3.1 Diff求微分 107
- 4.3.2 梯度 109
- 4.3.3 jacobian函数 110
- 4.3.4 中点公式 112
- 4.3.5 三点公式法和五点
- 公式法 113
- 4.3.6 样条函数法 116
- 4.3.7 辛普森(Simpleson)
- 微分法 117
- 4.3.8 多项式的微分 121
- 4.4 综合实例 123
- 第5章 MATLAB插值计算 124
- 5.1 一维插值 124
- 5.1.1 拉格朗日插值 124
- 5.1.2 牛顿插值 129
- 5.1.3 埃尔米特插值 131
- 5.1.4 分段低次插值 135
- 5.1.5 三次样条插值 138
- 5.2 二维插值 140
- 5.2.1 近邻插值 141
- 5.2.2 分片线性插值 141
- 5.2.3 双线性插值 142
- 5.2.4 双三次插值 143
- 5.2.5 散乱节点插值 147
- 5.3 综合实例 149
- 第6章 MATLAB函数逼近 152
- 6.1 泰勒逼近 152
- 6.2 平方逼近 156
- 6.2.1 平方逼近的原理 156
- 6.2.2 正交多项式 162
- 6.2.3 切比雪夫多项式 163
- 6.2.4 勒让德多项式 170
- 6.3 一致逼近 175
- 6.4 综合实例—泰勒展开式
- 的降次 182
- 第7章 MATLAB曲线与曲面拟合 185
- 7.1 二乘拟合 185
- 7.2 MATLAB拟合函数 191
- 7.2.1 多元线性拟合—lsqlin、regress 191
- 7.2.2 一元多项式拟合 194
- 7.2.3 非线性拟合 198
- 7.3 MATLAB拟合工具箱 203
- 7.4 综合实例—临床药物
- 注射问题 213
- 第8章 MATLAB求解线性方程组 216
- 8.1 线性方程组 216
- 8.2 符号解法 217
- 8.3 求逆法 221
- 8.4 矩阵分解法 223
- 8.4.1 Cholesky分解 223
- 8.4.2 LU分解 225
- 8.4.3 QR分解 227
- 8.5 迭代法 228
- 8.5.1 Gauss-Seidel迭代法 229
- 8.5.2 SOR超松弛迭代法 231
- 8.5.3 Jacobi迭代法 234
- 8.5.4 Bicg迭代法 236
- 8.6 综合实例 238
- 第9章 MATLAB求解非线性方程组 242
- 9.1 二分法 242
- 9.2 迭代法 244
- 9.2.1 牛顿法 246
- 9.2.2 简化牛顿法 248
- 9.2.3 割线迭代法 249
- 9.2.4 黄金分割法 250
- 9.2.5 抛物线法 252
- 9.2.6 不动点迭代法 254
- 9.2.7 牛顿下山法 256
- 9.3 综合实例 257
- 第 10章 MATLAB概率统计 261
- 10.1 概率统计工具箱 261
- 10.2 随机数生成 262
- 10.2.1 生成均匀分布随机数 264
- 10.2.2 生成正态分布随机数 266
- 10.3 随机变量的统计值 267
- 10.3.1 求期望 267
- 10.3.2 求方差 269
- 10.3.3 求标准差 270
- 10.3.4 矩 272
- 10.3.5 几何平均数 273
- 10.3.6 算术平均数 274
- 10.3.7 中位数 274
- 10.3.8 值差 275
- 10.3.9 调和平均数 276
- 10.3.10 样本的偏斜度 277
- 10.3.11 协方差 278
- 10.3.12 相关系数 279
- 10.3.13 其他数字特征 281
- 10.4 参数估计 281
- 10.4.1 均匀分布的参数估计 282
- 10.4.2 正态分布的参数估计 283
- 10.4.3 二项分布的参数估计 284
- 10.4.4 mle —指定分布的
- 参数估计 285
- 10.5 假设检验 286
- 10.5.1 t检验法 287
- 10.5.2 u检验法 288
- 10.5.3 秩和检验 289
- 10.5.4 符号秩检验 290
- 10.6 回归 291
- 10.6.1 线性回归 291
- 10.6.2 非线性回归 292
- 10.7 综合实例 293
- 第 11章 MATLAB求解微分方程组 298
- 11.1 常微分方程 298
- 11.1.1 微分方程组的符号解 298
- 11.1.2 欧拉法 299
- 11.1.3 改进的欧拉法 301
- 11.1.4 龙格—库塔法 303
- 11.1.5 亚当斯(Adams)
- 外插法 307
- 11.1.6 亚当斯(Adams)
- 内插法 308
- 11.2 偏微分方程——有限差分法 309
- 11.2.1 网格剖分 309
- 11.2.2 数值微分 310
- 11.3 PDE工具箱 311
- 11.3.1 PDE支持的方程 311
- 11.3.2 PDE使用说明 312
- 11.4 综合实例 315
- 第 12章 MATLAB优化计算 320
- 12.1 MATLAB优化工具箱的函数 320
- 12.1.1 优化工具箱 321
- 12.2 线性规划 329
- 12.3 0-1整数规划 333
- 12.4 二次规划 334
- 12.5 多目标规划 337
- 12.6 贪心算法 339
- 12.7 遗传算法 341
- 12.8 模拟退火算法 345
- 12.9 粒子群算法 347
- 12.10 综合实例 347
- 第 13章 C/C++与MATLAB混合编程 353
- 13.1 C/C++与MATLAB混合调用
- 的方法 353
- 13.2 MATLAB调用C/C++ 354
- 13.2.1 MATLAB的MEX文件 355
- 13.2.2 C-MEX文件的使用 356
- 13.3 C/C++调用MATLAB 357
- 13.3.1 C/C++调用引擎 357
- 13.3.2 C/C++调用Matcom 363
- 13.3.3 C/C++调用COM 370
- 13.3.4 C/C++调用动态链接库 376
- 13.4 综合实例 381
- 第 14章 MATLAB工程计算案例精粹 387
- 14.1 Delta并联机器人建模 387
- 14.1.1 背景介绍 387
- 14.1.2 问题阐述 388
- 14.1.3 实验例程 390
- 14.2 柴油机故障诊断 394
- 14.2.1 问题阐述 394
- 14.2.2 实验例程 395
- 14.3 街头游戏解谜 398
- 14.3.1 问题阐述 398
- 14.3.2 实验例程 398
- 14.4 零件参数的设计 400
- 14.4.1 问题阐述 400
- 14.4.2 实验例程 402