数值分析第五次实验报告

更新时间:2024-04-01 09:20:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

贵州师范大学数学与计算机科学学院学生实验报告

课程名称: 数值分析 班级: 数本一班 实验日期: 2011年11月30日 学 号: 090704020103(82号) 姓名: 指导教师: 杨一都老师 实验成绩: 一、实验名称

实验五:线性方程组的数值解法 二、实验目的及要求

1. 让学生掌握用列主元gauss消去法、超松弛迭代法求解线性方程组. 2. 培养Matlab编程与上机调试能力. 三、实验环境

每人一台计算机,要求安装Windows XP操作系统,Microsoft office2003、MATLAB6.5(或7.0). 四、实验内容

1. 编制逐次超松弛迭代(SOR迭代)函数(子程序),并用于求解方程组

??4x1?x2?x3?x4?1?x?4x?x?x?1?1234 ?

?x1?x2?4x3?x4?1??x1?x2?x3?4x4?11?10?5 2请绘制出迭代次数与松弛因子关系的函数曲线,给出最佳松弛因子.SOR迭代的收敛速度是否一定比Gauss-Seidel迭代快?

2. 编制列主元 Gauss 消去法函数(子程序),并用于解

取初始向量x(0)?(1,1,1,1)T,迭代控制条件为 ||x(k)?x(k?1)||??12x1?3x2?3x3?15???18x1?3x2?x3??15 ?x?x?x?623?1要求输出方程组的解和消元后的增广矩阵. 注:题2必须写实验报告 五、算法描述及实验步骤

六、调试过程及实验结果

>> Ab=[12,-3,3,15;-18,3,-1,-15;1,1,1,6]; >> n=3;

>> [Ab,x]=liegauss(Ab,n) Ab =

-18.0000 3.0000 -1.0000 -15.0000 0 1.1667 0.9444 5.1667 0 0 3.1429 9.4286 x =

1.0000 2.0000 3.0000

七、总结

八、附录(源程序清单) M文件:

function [Ab,x]=liegauss(Ab,n) k=1;

while k

for i=k+1:n

if abs(Ab(i,k))>abs(Ab(k,k))

b=Ab(i,:);Ab(i,:)=Ab(k,:);Ab(k,:)=b; end end %消元

for i=k+1:n

Ab(i,k:n+1)=-Ab(i,k)/Ab(k,k)*Ab(k,k:n+1)+Ab(i,k:n+1); end k=k+1;

end %得到列主元消元后的增广矩阵 %回代

x=zeros(n,1);

x(n)=Ab(n,n+1)/Ab(n,n); for i=n-1:-1:1

x(i)=(Ab(i,n+1)-Ab(i,i+1:n)*x(i+1:n))/Ab(i,i); end

本文来源:https://www.bwwdw.com/article/f4jr.html

Top