武汉理工大学计算机学院数值分析实验报告_第1页
武汉理工大学计算机学院数值分析实验报告_第2页
武汉理工大学计算机学院数值分析实验报告_第3页
武汉理工大学计算机学院数值分析实验报告_第4页
武汉理工大学计算机学院数值分析实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 14武汉理工大学计算机学院数值分析实验报告学 生 实 验 报 告 书 实验课程名称 开 课 学 院 指导教师姓名 学 生 姓 名 学生专业班级 数值分析 计算机科学与技术学院 熊盛武 2016 2016 学年 第 二 学期 实验课程名称:数值分析 武汉理工大学 学 生 实 验 报 告 书 2 / 14实验课程名称: 数 值 分 析 开 课 名 学 生 姓 名: 20011 2016 学年 第 二 学期 第一次试验 二分法计算流程图: 简单迭代法算法流程图: 牛顿迭代法流程图: 弦截法算法程序流程图: 湖北民族学院理学院数值分析课程实验报告 湖北民族学院理学院数值分析课程实验报告 xn?) 3 / 14数值分析实验报告 姓名:学号:学院:老师: XXX XXXX 实验一 一、实验内容 用雅克比迭代法和高斯塞德尔迭代法求解课本例,设置精度为 10-6。 ?8-32?x1?20?411?1?x2?33?6312?x?36? ?3? 二、实验公式 ? 雅克比迭代法的基本思想:设方程组 Ax?b 的系数矩阵的对角线元素4 / 14 ?aii?0(i?1,2,.,n),根据方程组 Ax?b 推导出一个迭代公式,然后将任意选取的?(0)?(1)?(1)?(2) xxxx 一初始向量代入迭代公式,求出,再以代入同一迭代公式,求出, 1、雅克比迭代法 ?(k)?(k) xx收敛时,如此反复进行,得到向量序列。当其极限即为原方程组的解。 2、高斯塞德尔迭代法: 在雅可比迭代法中,如果当新的分量求出后,马上用它来代替旧 的分量,则可能会更快地接近方程组的准确解。基于这种设想构造的迭代公式称为高斯-塞德尔(Gauss-Seidel)迭代法。算法可相应地从雅可比迭代法改造得到。5 / 14 3、两种迭代法的公式 雅可比迭代法: xi(k+1)=1/aii(bi-aijxj(k) 高斯-塞德尔迭代法: xi(k+1)=1/aii(bi-aijxj(k+1)-aijxj(k) 三、实验程序 1、雅克比迭代法的程序 format long;%设置为长格式显示,显示 15 位小数 A=8 -3 2;4 11 -1;6 3 12;%输入系数矩阵 b=20 33 36; e=; %控制误差 n=max(size(A); %测定维数 for m=1:n if A(m,m)=0 对角元为零,不能求解 return end end x=zeros(n,1); %设置初始解 k=0; %预设迭代次数为 0 kend=50; %最大迭代次数为 50 r=1; %前后项之差的无穷范数,初始值设为 1 while ke %达到预定精度或迭代超过 50 次推出计算 x0=x; %几下前次近似解 for m=1:n 6 / 14s=0; for l=1:m-1 s=s+A(m,l)*x0(l); end for l=m+1:n s=s+A(m,l)*x0(l); end x(m)=b(m)/A(m,m)-s/A(m,m); end r=norm(x-x0,inf); %重新计算前后项之差的无穷范数 k=k+1; end if kkend 迭代不收敛,失败 else 求解成功 x k end ans = 求解成功 x = k = 16 2、高斯塞德尔迭代法的源程序只要在上面的雅克比迭代法7 / 14的程序中作一处更改便可,即将上面的第 21 行的程序s=s+A(m,l)*x0(l);改为 s=s+A(m,l)*x(l);其结果如下: x = k = 9 四、实验分析 由实验可见对此题高斯赛德尔迭代法比雅可比迭代法的收敛速度快。因为由 高斯赛德尔迭代法和雅克比迭代法的原理可知,雅克比迭代法只是利用了前次迭代的结果,而高斯赛德尔迭代法也利用了当前迭代过程中已经算出来的新的分量,即当新的分量求出后,马上用它来代替旧的分量,则可能会更快地接近方程组的准确解。因此一般情况下高斯赛德尔迭代法比雅可比迭代法的收敛速度快。 实验二 一、实验内容8 / 14 例 判别方程 x3?3x?1?0 的实根存在区间,要求区间长度不大于 1,然后用二分法求出最小正根的近似值,精度?10?3。 二、实验原理 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在a,b上连续,f(a)f(b) 先用画图的方法来粗略估计其根的范围,程序如下: ezplot(x-3*x+1); axis(-2 2 -10 10); grid 由上图可知其根分布区间大概分布在(-2,-1),(0,1)和中。编写二分法求解最小正根的近似值程序如下 : format long; f=inline(x-3*x+1); a=0; b=1; Eps=1E-5; for k=1:50 A(k)=a; B(k)=b; ya=feval(f,a); yb=feval(f,b); temp=(a+b)/2; X(k)=temp; yt=feval(f,temp); F(k)=yt; if abs(yt) disp(k a(k) b(k) H=1:k,A,B,X,F; disp(H); disp(x=); disp(X(k); disp(y=); disp(yt); format short9 / 14 以下为运行结果:ka(k) x(k) f(x) ); b(k) 0 0 x(k) 湘潭大学数学与计算科学学院 学生实验报告 数值实验项目 项目名称:多项式插值 目 的:通过数值实验,掌握 Newton 插值方法. 题 目:近似计算代数多项式的根 算法描述: 给出 4 算 法:利用上表作 y?f(x)的反函数 x?f ?1 10 / 14(y)的插值多项式 x?Nn(y),然后令 y?0 即得结果。 数值实验项目 项目名称:数值积分 目 的:通过数值实验,掌握基本的数值积分方法. 题 目:近似计算 ln2 和圆周率?. 算法描述:计算下式右端积分的近似值. 1, 1x1dx?4? 01?x2ln2? 2 算 法:分别利用自适应复化 Simpson 求积公式与Romberg 方法求上面两个积分的近似值,要求绝对误差限不超过:? 11 / 141 ?10?7. 2 数值实验项目 项目名称:求解线性代数方程组的直接方法. 目 的:了解并熟悉用 Gauss 消元法及基于三角分解的直接方法解线性代数方程组. 题 目:求解下面 84 阶三对角线性方程组: ?61?x1?7?861?x2?15?x?15?861?3? ? ?x?15?861?83?86?x84?14? ?81?x1?9?681?x2?15?x?15?681?3? ?12 / 14 ?x?15?681?83?68?x84?14? 算 法:利用“追赶法”解上述线性代数方程组,并将结果与方程组的精确解进行比较. 数值实验项目 项目名称:求解线性代数方程组的迭代方法. 目 的:通过数值实验,了解并掌握基本的迭代方法. 题 目:求解线性代数方程组: Ax?b 其中: ?4?1? ?14?1? ?A? ?13 / 14 ? ?14?1? ?14?(10?10) x?(x1,x2,?,x10)T b?(,)T 算 法:要求分别使用 Jacobi 迭代法、Gauss-Seidel 迭代法解方程组,并比较他们的收敛的快慢. 数值实验项目 项目名称:求三对角矩阵的特征值. 目 的:通过数值实验,了解并掌握

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论