云南大学数学与统计学实验教学中心实验报1- 副本

更新时间:2024-04-07 12:52:01 阅读量: 综合文库 文档下载

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

云南大学数学与统计学实验教学中心实验报告

课程名称:数值计算方法 指导教师: 李朝迁 学期: 2012—2013学年第一学期 学生姓名: 成绩: 学生学号: 实验名称:雅可比迭代法,高斯-赛德尔迭代法求解线性方程组。 实验编号:No. 5 学院: 数学与统计学院 实验日期: 2013.11.11 专业: 数学与应用数学 实验学时: 2 年级: 2012级 -------------------------------------------------------------------------

一、实验目的:会在计算机上用雅可比迭代法,高斯-赛德尔迭代法等。 二、实验内容:雅可比迭代法,高斯-赛德尔迭代法求解线性方程组。 三、实验环境:PC计算机,FORTRAN、C、C++、VB、MATLAB任选一种。 四、实验方法:雅可比迭代法,高斯-赛德尔迭代法。 五、实验过程:

1.给出雅可比迭代法程序(以P58例4-1为例运行)

clc; clear;

A=[8 -3 2;4 11 -1;6 3 12]; B=[20;33;36]; Err_user=0.0001 N=10;

[m,n]=size(A); X=zeros(n,1); k=1; while k<=N Xk=X; for i=1:n for j=1:n if i~=j

AX(j)=A(i,j)*Xk(j); end end

sum_AX=sum(AX); AX=0;

X(i)=(B(i)-sum_AX)/A(i,j); end

E=max(abs(Xk-X)); if E

end disp(X); disp(k);

运行结果 k =

11

1.0e+005 *

-1.0558 -0.5418 0.2172

2.给出高斯-赛德尔迭代法程序(以P58例4-1为例运行)

clc; clear;

A=[8 -3 2;4 11 -1;6 3 12]; B=[20;33;36]; Err_user=0.0001; N=10;

[m,n]=size(A);

X=zeros(n,1); k=1; while k<=N Xk=X; for i=1:n for j=1:n if i~=j

AX(j)=A(i,j)*X(j); end end

Sum_AX=sum(AX); AX=0;

X(i)=(B(i)-Sum_AX)/A(i,j); end

Er=max(abs(Xk-X)); if Er

disp(k);

运行结果

??? Undefined function or variable 'G'.

检查未发现变量G,不知道问题出在了哪里。

结论应该是当雅克比与高斯赛德尔方法均收敛的情况下,高斯赛德尔方法会比雅克比方法收敛得快。

六. 遇到的问题及解决过程: 七.产生的错误及原因分析: 八.体会和收获: 九、教师评语:

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

Top