matlab的数值求解实验报告,matlab线性方程组数值求解实验报告

《matlab线性方程组数值求解实验报告》由会员分享,可在线阅读,更多相关《matlab线性方程组数值求解实验报告(6页珍藏版)》请在人人文库网上搜索。

1、湖南大学电气与信息工程学院 数值计算课程 上机实验报告姓名: 班级: 学号:日期:指导老师: 本次实验题号:第 2 次实验一.实验目的:了解gauss消去法和迭代法matlab算法实现求任意方程组的根。2. 实验内容:用gauss消去法和迭代法求解下列线性方程组:1. 求出gauss消去法的上三角矩阵和方程组的解,并在命令窗口显示;2. 显示迭代法求解过程中所有结果()要求求解精度达到10-5.三.算法介绍或方法基础1) 消去法:消元过程:设,令乘数,做(消去第i个方程组的)操作第1个方程+第i个方程(i=2,3,.n)则第i个方程变为这样消去第2,3,。,n个方程的变元后。原线性方程组变为:。

2、这样就完成了第1步消元。回代过程:在最后的一方程中解出,得:再将的值代入倒数第二个方程,解出,依次往上反推,即可求出方程组的解:其通项为 高斯赛德尔迭代法:由雅可比迭代公式可知,在迭代的每一步计算过程中是用的全部分量来计算的所有分量,显然在计算第i个分量时,已经计算出的最新分量没有被利用,从直观上看,最新计算出的分量可能比旧的分量要好些.因此,对这些最新计算出来的第次近似的分量加以利用,就得到所谓解方程组的高斯塞德(Gauss-Seidel)迭代法.把矩阵A分解成(6) 其中,分别为的主对角元除外的下三角和上三角部分,于是,方程组(1)便可以写成即其中(7)以为迭代矩阵构成的迭代法(公式)(8。

3、)称为高斯塞德尔迭代法(公式),用 量表示的形式为(9)由此看出,高斯塞德尔迭代法的一个明显的优点是,在电算时,只需一组存储单元(计算出后不再使用,所以用冲掉,以便存放近似解.4. 程序1) 消去法:function x=gauss(A,b)n=length(b);A=A,b; for k=1:(n-1) A(k+1):n,(k+1):(n+1)=A(k+1):n,(k+1):(n+1). -A(k+1):n,k)/A(k,k)*A(k,(k+1):(n+1); A(k+1):n,k)=zeros(n-k,1); Aend x=zeros(n,1); x(n)=A(n,n+1)/A(n,n);。

4、for k=n-1:-1:1 x(k,:)=(A(k,n+1)-A(k,(k+1):n)*x(k+1):n)/A(k,k);end2) 迭代法:function EX() a=input(请输入系数矩阵a:);b=input(请输入矩阵b:); N=input(请输入最大迭代次数N:); esp=input(请输入近似解的误差限:);if any(diag(a)=0 error(系数矩阵错误,迭代终止!) endD=diag(diag(a); X0=zeros(size(b); x1=0; x2=0;x3=0;X1=x1;x2;x3;h=inv(D)*b; B=inv(D)*(D-a);B1=。

5、triu(B); B2=tril(B); k=1;fprintf(高斯-赛德尔迭代法 ); fprintf(第0次迭代得:) disp(X1);while k=N x1=h(1,1)+B1(1,:)*X0; X1=x1;x2;x3; x2=h(2,1)+B1(2,:)*X0+B2(2,:)*X1;X1=x1;x2;x3; x3=h(3,1)+B2(3,:)*X1; X1=x1;x2;x3; if norm(X1-X0,inf)esp fprintf(已满足误差限。 ) break ; end X0=X1; fprintf(第%2d次迭代得:,k)disp(X1); k=k+1; end fprintf(满足误差限的高斯-赛德尔迭代近似解为:)disp(X1); fprintf(用高斯-赛德尔迭代法迭代次数为 %d次,k-1)end五.实验结果迭代法:消去法:6. 结果分析与解释Gauss-Seidel 迭代法收敛条件:迭代矩阵的普半径小于1;迭代矩阵的范数小于1;系数矩阵是占优矩阵。Gauss消元法:在消元过程中可能出现主元为零的情形,使得消元过程无法继续下去。或者主元的绝对值很小,用作除数,可导致其他元数量级的严重增长和舍入误差的扩散,是计算结果不可靠。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值