《计算方法及其MATLAB实现》将计算方法理论与MATLAB软件进行了有机结合,在简单介绍软件功能之后,分章讲述数值计算的基本原理和方法,并用MATLAB软件予以实现。按照“重视实用性和可操作性”的工程教育理念,本着“少而精”的原则,以计算方法为基础、MATLAB软件为工具、实现数值计算为目的,对全书内容进行精心组织和编排。
《计算方法及其MATLAB实现》主要包括MATLAB基础、误差和MATLAB的计算精度、插值和数据拟合、非线性方程组、线性代数方程组、数值微积分、常微分方程组等共7章内容。
既可用作普通高等院校各类专业计算方法(数值计算)课程的教材,也可作为科技工作者初学MATLAB软件和进行数值计算的参考书。
实验研究、理论分析和科学计算是当代科学研究中不可或缺的三种主要手段。处于信息时代的今天,科学计算则是以数学模型为基础、计算机及其软件为工具进行的一种模拟研究,也是当今盛行的计算机仿真技术的重要基石。理工类高等教育中,已经越来越重视如何培养学生的科学计算能力。高校的许多理工财经类专业都开设有“计算方法”或“数值计算”课程,它已成为一门重要的基础技术课。
与数学和计算机类专业不同,对于大多数应用类学科,学习这门课程不是为了“研究”和“创造”算法,而是为了“选择”和“使用”算法。本书的选材和内容安排都定位于应用类学科,同时兼顾了一般科技工作者的实际需求。
当今的数值计算,一定需要理论上的指导,但落脚点则必然是计算。在计算机高度发展和普及的今天,科技工作者科学算法意识的建立和计算能力的培养,必须在计算机环境下、在适当的平台上进行实际操作演练,只有这样才符合“重视实用性和可操作性”的工程教育思想。我们从20世纪末就开始进行把计算方法和MATLAB软件结合起来的教学探索,在多次完善修改讲义和积累经验的基础上,2006年出版了《基于MATLAB的实用数值计算》 一书(参考文献[6])。转眼又过去6年多了,这次本着“少而精”的原则,“以计算方法为基础,MATLAB软件为工具,实现数值计算为目的”,对原书进行了较大幅度的“减肥”和改写。同时参照了许多国内外同类书籍,与个别同类教材追求“洋、典、全”不同,本书着重结合我国实际情况,以“实用”为主线进行了重新编写,使其条理更清晰,叙述更简洁,内容更丰富。
虽然书名改成《计算方法及其MATLAB实现》,摒弃了过分强调软件功能之嫌,但也并不局限于传统“计算方法”的内容,而是将两者做了适当的融合。比如,增强了有实用价值的MATLAB符号计算功能; 在使用软件进行数值计算时,基本上都只使用“指令”完成,尽量不用编程,使数值计算像使用计算器一样方便; 为了实用,本书尽量不涉及编辑永久文件类的内容,在必须编程的地方,也尽量使用新增的“临时文件”,因为它的编辑和使用都是在指令窗中完成的,快捷方便,……如果读者学完这本书,能在今后的学习和工作中,不再用繁琐耗时费力的手工演算做数值计算,而改用计算机进行,那就是本书的最大成功。
本书不仅可以用作非计算数学类专业学习“计算方法”课程的教材,也可作为学习MATLAB软件的入门书,同时可供科技工作者进行数值计算时参考。
由于编者水平所限,书中不当与错误之处在所难免,恳请广大读者不惜赐教!
编者2013年5月(电子信箱: aushixm@126.com,wzhi@imu.edu.cn)
第1章 MATLAB基础
1.1 指令窗
1.1.1 快捷按钮
1.1.2 功能键
1.2 查询方法
1.2.1 常用查询指令
1.2.2 演示窗
1.3 数据类型及其显示
1.3.1 数据类型
1.3.2 标识符与数据显示
1.4 数值矩阵
1.4.1 输入与删改
1.4.2 矩阵算法
1.4.3 数组算法
1.4.4 多项式算法
第1章 MATLAB基础
1.1 指令窗
1.1.1 快捷按钮
1.1.2 功能键
1.2 查询方法
1.2.1 常用查询指令
1.2.2 演示窗
1.3 数据类型及其显示
1.3.1 数据类型
1.3.2 标识符与数据显示
1.4 数值矩阵
1.4.1 输入与删改
1.4.2 矩阵算法
1.4.3 数组算法
1.4.4 多项式算法
1.5 符号矩阵
1.5.1 符号变量和符号表达式
1.5.2 输入和删改
1.5.3 运算和显示
1.6 基本绘图方法
1.6.1 图形窗
1.6.2 二维图的绘制
1.6.3 辅助指令
1.6.4 三维图的绘制
1.7 MATLAB语言编程
1.7.1 临时文件
1.7.2 永久文件
*1.7.3 编程知识
思考与练习题
第2章 误差和MATLAB的计算精度
2.1 误差
2.1.1 误差的来源
2.1.2 误差的基本概念
2.2 MATLAB软件的计算精度
2.2.1 浮点数及其运算特点
2.2.2 软件的计算精度
2.3 算法的设计
2.3.1 算法的数值稳定性
2.3.2 设计算法的原则
思考与练习题
第3章 插值和拟合
3.1 多项式插值
3.1.1 基本原理
3.1.2 两种常见插值法
3.1.3 误差估计
3.2 分段插值
3.2.1 分段三次插值
3.2.2 三次样条插值
3.3 插值法的MATLAB实现
3.3.1 一元函数插值
3.3.2 三次插值及其样条插值
3.4 拟合法
3.4.1 最小二乘法
3.4.2 拟合法的MATLAB实现
3.4.3 用多项式拟合函数或数据
思考与练习题
第4章 非线性方程组
4.1 数值解的基本原理
4.1.1 二分法
4.1.2 迭代法
4.2 MATLAB 软件的实现
4.2.1 多项式求根指令
4.2.2 求函数零点指令
4.3 方程组的数值解
4.3.1 迭代法的原理
4.3.2 MATLAB软件的实现
4.4 方程组的解析解
思考与练习题
第5章 线性代数方程组
5.1 求解原理
5.1.1 方程组的矩阵形式
5.1.2 方程组解的性质
5.2 齐次线性方程组
5.2.1 矩阵零空间的MATLAB求解
5.2.2 方程组的MATLAB求解
5.3 非齐次线性代数方程组
5.3.1 恰定方程组
5.3.2 欠定方程组
5.3.3 超定方程组
5.4 迭代法
5.4.1 雅可比和赛德尔迭代法
5.4.2 迭代法的敛散性
5.4.3 范数和谱半径
5.4.4 特征值和特征向量
5.4.5 用MATLAB软件求特征值
思考与练习题
第6章 数值微积分
6.1 数值微分
6.1.1 中点法
6.1.2 插值型求导公式
6.2 牛顿?柯特斯积分公式
6.2.1 公式的推导
6.2.2 求积公式的误差
6.2.3 积分的近似公式
6.3 复合求积法
6.3.1 基本原理
6.3.2 复合积分法的MATLAB实现
6.4 数值积分法
6.4.1 变步长复合抛物线法
6.4.2 MATLAB实现
6.5 符号积分法
思考与练习题
第7章 常微分方程组
7.1 常微分方程数值解
7.1.1 一阶常微分方程
7.1.2 泰勒展开法
7.1.3 高阶微分方程
7.2 数值解的MATLAB实现
7.2.1 临时文件
*7.2.2 永久文件
7.3 解析解的MATLAB符号法
7.3.1 微分方程的符号法格式
7.3.2 符号法求解指令
思考与练习题
附录A 思考与练习题部分答案或提示
附录B 书中MATLAB指令索引
参考文献