数值计算A上机实验指导书.doc

上传人:啊飒飒 文档编号:11456380 上传时间:2021-08-06 格式:DOC 页数:7 大小:239.50KB
返回 下载 相关 举报
数值计算A上机实验指导书.doc_第1页
第1页 / 共7页
数值计算A上机实验指导书.doc_第2页
第2页 / 共7页
数值计算A上机实验指导书.doc_第3页
第3页 / 共7页
数值计算A上机实验指导书.doc_第4页
第4页 / 共7页
数值计算A上机实验指导书.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《数值计算A上机实验指导书.doc》由会员分享,可在线阅读,更多相关《数值计算A上机实验指导书.doc(7页珍藏版)》请在三一文库上搜索。

1、数值计算A实验指导书实验一 高斯消去法1.1 实验目的 掌握高斯消去法的基本思路和迭代步骤; 培养编程与上机调试能力。1.2 算法描述1.2.1 高斯消去法基本思路。设有方程组,设是可逆矩阵。高斯消去法的基本思想就是僵局真的初等行变换作用于方程组的增广矩阵,将其中的变换成一个上三角矩阵,然后求解这个三角形方程组。1.2.2 列主元高斯消去法计算步骤 将方程组用增广矩阵表示。步骤1:消元过程,对(1) 选主元,找使得(2) 如果,则矩阵奇异,程序结束;否则执行(3)。(3) 如果,则交换第行与第行对应元素位置,。(4) 消元,对,计算对,计算步骤 2:回代过程:(1) 若则矩阵奇异,程序结束;否

2、则执行(2)。(2) 对,计算1.3实验要求 用选主元素法和高斯消去法两种方法解方程组。1.4 实验内容计算书上的习题实验二 解线性方程组的迭代法2.1实验目的掌握解线性方程组的雅可比迭代和高斯-塞德尔迭代算法;培养编程与上机调试能力.2.2算法步骤2.2.1迭代法的基本思想根据方程组设计出一个迭代公式,然后将任意选取的一初始向量代入迭代公式,求出,再以代入同一迭代公式,求出,如此反复进行,得到向量序列.当收敛时,其极限即为原方程组的解.2.2.2雅可比(Jacobi)迭代法解方程组设方程组的系数矩阵对角线元素,为最大迭代次数,为容许误差. 雅可比(Jacobi)迭代法解方程组算法步骤如下:

3、取初始向量,令. 对,计算 . 如果,则输出,结束;否则执行 如果,则不收敛,终止程序;否则,转2.2.3高斯-塞德尔(Gauss-Seidel)、SOR迭代法在雅可比(Jacobi)迭代法中,如果当新的分量求出后,马上用它来代替旧的分量,则可能会更快地接近方程组的准确解.基于这种设想构造的迭代公式称为高斯-塞德尔(Gauss-Seidel)迭代法. 算法可相应地从雅可比(Jacobi)迭代法改造得到.2.3实验要求: (1)选择一种计算机语言(Matlab)设计出雅可比(Jacobi)Gauss-Seidel、SOR迭代法,迭代法的算法程序,并且选择不同的迭代次数,观察输出结果; (2)利用

4、Matlab求方程组2.4思考: 判别迭代法收敛的充分必要条件及充分条件是什么? 雅可比(Jacobi)迭代法和高斯-塞德尔(Gauss-Seidel)迭代法收敛性的各种判别条件是什么?2.5 实验内容计算书上的习题实验三 矩阵特征值问题计算3.1实验目的掌握求矩阵的特征值和主特征向量的幂法;培养编程与上机调试能力.3.2算法描述3.2.1幂法 3.2.2 Jacobi方法3.3实验要求(1) 选择一种计算机语言设计出幂法求主特征值和相应特征向量的程序,并且选择不同的初值,观察所需的迭代次数和迭代结果.(2) 利用Matlab求特征值和特征向量 调用格式1: eig(A) %得到特征值列向量调

5、用格式2:,其中为由特征列向量构成的方阵,为由特征值构成的对角阵. %得到特征值和所对应的特征向量 3.4 实验内容计算书上的习题3.5 思考幂法收敛速度取决于什么?怎样加速收敛?实验四 插值法4.1 实验目的 掌握插值法的基本思路和步骤; 培养编程与上机调试能力。4.2 算法描述4.2.1 Lagrange插值4.2.2 牛顿插值法4.2.3 三次样条插值4.3 实验要求: 用Matlab和插值中的某种具体算法编写代码并执行,完成解决具体问题。4.4 实验内容计算书上的习题Matlab SplineTools实验五 最小二乘法5.1 实验目的 掌握最小二乘法的基本思路和拟合步骤; 培养编程与

6、上机调试能力。5.2 算法描述5.2.1最小二乘法基本思路已知数据对,求多项式使得为最小,这就是一个最小二乘问题。5.2.3 最小二乘法计算步骤 用线性函数为例,拟合给定数据。算法描述:步骤1:输入值,及。步骤2:建立法方程组。步骤3:解法方程组。步骤4:输出。5.3实验要求用Matlab和插值中的某种具体算法编写代码并执行,完成解决具体问题。5.4 实验内容计算书上的习题Polyfit实验六 复化求积公式与龙贝格算法6.1 实验目的 掌握复化求积公式与龙贝格算法的基本思路和迭代步骤; 培养编程与上机调试能力。6.2 算法描述6.2.1 复化梯形、Simpson、Cotes公式6.2.2 龙贝

7、格算法基本思路龙贝格算法利用外推法,提高了计算精度,加快了收敛速度。 对每一个从2做到,一直做到小于给定的精度是停止计算。其中(复化梯度求积公式),6.2.3 龙贝格算法计算步骤步骤1:输入区间端点,精度控制值,循环次数,定义函数,取, 步骤2:for to 步骤3:数据积分近似值。6.3 实验内容用龙贝格算法计算:实验七 常微分方程数值解法7.1实验目的掌握常微分方程数值解的常用算法;培养编程与上机调试能力.7.2算法描述7.2.1改进欧拉法 求解 对给定的,用改进的欧拉公式求解常微分方程初值问题的解. 7.2.2四阶龙格-库塔法 对上述给定的,用四阶龙格-库塔法求解常微分方程初值问题7.2

8、.3常微分边值问题的差分解法7.3实验题目 课后习题7.4实验要求(1) 选择一种计算机语言设计出改进欧拉法和四阶龙格-库塔法方法求解常微分方程初值、边值问题的程序,观察运行结果.(2) 利用Matlab求解常微分方程初值问题 函数dsolve()用于求解微分方程.Dy表示:dy/dt(t 为缺省的自变量),Dny表示y对t的n阶导数. Matlab6.5环境下操作如下: y=dsolve(Dy=y*y,y(0)=1) %求解题目1 y=dsolve(Dy=y/t,y(2.0)=1) %求解题目2 (3)ode23, ode45(4) 利用最小二乘法拟合通过改进欧拉法求出微分方程的一系列数值解

9、的近似函数方程.并利用Matlab的绘图功能画出函数的曲线。实验八 非线性方程求根8.1实验目的:掌握二分法、牛顿迭代法等常用的非线性方程迭代算法;培养编程与上机调试能力.8.2算法步骤:8.2.1二分法8.2.2牛顿迭代法8.3实验题目及参考结果:题目 求方程在1.5 附近的根.原方程的根为8.4实验要求:(1) 选择一种计算机语言设计出二分法和牛顿法的程序,并且选择不同的初值,观察所需的迭代次数和迭代结果;(2) 分析二分法和牛顿法在非线性方程求根中的优缺点和收敛速度二分法简单易行,但只有线性收敛,且仅限于求实根;牛顿法也是一种简单的迭代法,具有二阶收敛速度(在单根邻近处)的特点,但对初值的选择比较苛刻,否则可能不收敛. (3) Matlab6.1环境下操作如下:f=1 1 -3 -3;roots(f)%多项式求根fx=x3+x2-3*x-3;fzero(fx,1.5)%非线性方程式的实根8.5思考: (1) 怎样比较迭代法收敛的快慢?何为收敛阶数?(2)如何加速迭代序列的收敛速度?埃特肯加速法的处理思想是什么?它具有什么优点?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1