Jacobi迭代法分量形式matlab,数值分析线性方程组的雅可比和高斯迭代法实验.doc...

实验报告

专业:数学与应用数学(师范)

年级:09级 班级:as09101 学号:as0910135 姓名:曾晓冰

一、 实验目的

1.掌握用迭代法求解线性方程组的基本思想和计算步骤;

2.能熟练地写出Jacobi迭代法的迭代格式的分量形式,并能比较它们各自的特点及误差估计;

3.理解迭代法的基本原理及特点,并掌握Jacobi迭代Gauss-Seidel迭代和SOR迭代格式的分量形式、矩阵形式及其各自的特点;

4.掌握Jacobi迭代Gauss-Seidel迭代和SOR迭代算法的MATLAB程序实现方法,及了解松弛因子对SOR迭代的影响;

5.用SOR迭代法求解线性方程组时,超松弛因子的取值大小会对方程组的解造成影响,目的就是能够探索超松弛因子怎样对解造成影响,通过这个实验我们可以了解的大致取值范围。

二、实验题目

题目1、解线性方程组的迭代法

书本P33 (Ⅱ)上机实验2.1(1)

利用算法2.1(Jacobi迭代法),编制Mathlab程序,求线性方程组

(1)

题目2、解线性方程组的直接法

书本P59 (Ⅱ)上机实验3.1(2)

3.1利用算法3.1(顺序Gauss消去法),编制Mathlab程序,求线性方程组

(2)

三、实验原理

题目1:运用了Jacobi迭代算法思想:

Jacobi的迭代格式:

1. 取初始点x(0),精度要求ε,最大迭代次数N,置k:=0;

2. 由,计算出x(k+1);

3. 若,则停算,输出x(k+1)作为方程组的近似解;

4. 若k=N,则停算,输出迭代失败信息;否则置k:=k+1,转步2。

题目2:运用了Gauss-Seidel迭代算法思想:

Gauss-Seidel迭代的计算格式:

1.输入矩阵A,右端向量b,初始点x(0),精度要求ε,最大迭代次数N,置k:=0;

2.计算

3.若,则停算,输出x作为方程组的近似解;

4. 若k=N,则停算,输出迭代失败信息;否则置x(0):=x,k:=k+1,转步骤2。

四、实验内容

1、实验步骤

题目1、(1)打开matlab软件,在matlab命令窗口执行程序,并在命令窗口编写程序,运行程序(见附录一),记录结果(见实验结果1.1)。

题目2、(1)打开matlab软件,在matlab命令窗口执行程序,并在命令窗口编写程序,运行程序(见附录二),记录结果(见实验结果1.2)。

五、实验结果

1.1

1.2

六、实验结果分析

1、由实验结果1.1可以知道书本上机实验题2.1(1)解得的结果为x=(-2 0 2 4)’,由k=96知道方程组的迭代次数为96次,没有超出设定的迭代次数的上限。

2、由实验结果1.2可以知道书本上机实验题3.1(2)解得的结果为x=(1.1877 -2.1199 -2.4319 3.2011)’。

附录一:

% 第1题程序

%建立M文件,并编写以下程序

function x=majacobi(A,b,x0,ep,N)

n=length(b);

if nargin<5,N=500;end

if nargin<4,ep=1e-6;end

if nargin<3,x0=zeros(n,1);end

x=zeros(n,1); k=0;

while k> A=[14 4 4 4;4 14 4 4;4 4 14 4;4 4 4 14];

>> b=[-4 16 36 56];

>> x=majacobi(A,b)

k= 94

附录二:

%建立M文件,并编写以下程序

%magauss.m

function x=magauss(A,b,flag)

if nargin<3,flag=0;end

n=length(b);

for k=1:(n-1)

m=A(k+1:n,k)/A(k,k);

A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-m*A(k,k+1:n);

b(k+1:n)=b(k+1:n)-m*b(k);

A(k+1:n,k)=zeros(n-k,1);

if flag~=0, Ab=[A,b], end

end

x=zeros(n,1);

x(n)=b(n)/A(n,n);

for k=n-1:-1:1

x(k)=(b(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);

end

%在命令窗口编写以下程序

>> A=[10.4 1.2 2.2 1.9;1.5 11.2 3.5 2.5;2.1 1.5 9.6 1.8;1.6 4.5 1.4 12.8];

>> b=[10.54 -22.47 -18.27 29.93];

>> x=magauss(A1,b1);x1

(此报告版权归本人所有,任何单位或个人不得以任何形式传播、盗版此报告,否则将追究其法律责任)

展开阅读全文

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值