matlab算线性方程解,MATLAB计算方法3解线性方程组计算解法.pptx

第三章线性方程组数值解法解线性方程组 §3.1 直接法一、 Gauss 消去法设 有消 元: 用Matlab实现顺序Gauss消去法在Matlab程序编辑器中输入:function x=nagauss(a,b,flag) %解线形方程组ax=b,a为系数矩阵,b为右端列向量,flag若为0,则显示中间过程,否则不显示,默认为0,x为解向量if nargin<3,flag=0;endn=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); if flag==0,a,endend % 回代x=zeros(n,1);x(n)=a(n,n+1)/a(n,n);for k=n-1:-1:1 x(k,:)=(a(k,n+1)-a(k,(k+1):n)*x((k+1):n))/a(k,k);end程序运行结果:二 列主元素Gauss消去法---计算结果可靠到此原方程组化为 直到(n-1) 原方程组化为(上三角方程组) (3.2)以上为消元过程。(n) 回代求解公式 (3.3)系数矩阵为对称正定阵或严格对角占优阵的方程组按高斯消去法计算是数值稳定的,因而不必选主元。严格对角占优阵:至少有一个主对角线元素的绝对值严格大于此行或此列其他元素的绝对值之和。说明: (1)也可采用无回代的列主元消去法(叫Gauss- --Jordan消去法),但比有回代的列主元消 去法的乘除运算次数多。 (2)有回代的列主元消去法所进行的乘除运算 次数为 ,量很小。Gauss 列主元消去法: 优点 ------ 计算结果更可靠; 缺点 ------ 挑主元花机时更多,次序有变动,程序复杂。用Matlab实现选列主元Gauss消去法解线性方程组在Matlab程序编辑器中输入:function x=nagauss2(a,b,flag) %a为系数矩阵;b为右端列向量;flag若为0,则显示中间过程,否则不显示if nargin<3,flag=0;endn=length(b); a=[a,b];% 选主元for k=1:(n-1)[ap,p]=max(abs(a(k:n,k)));p=p+k-1;if p>k,t=a(k,:); a(k,:)=a(p,:); a(p,:)=t; end% 消元 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); if flag==0,a,endend %回代x=zeros(n,1);x(n)=a(n,n+1)/a(n,n);for k=n-1:-1:1 x(k,:)=(a(k,n+1)-a(k,(k+1):n)*x((k+1):n))/a(k,k);end程序运行结果: 三.矩阵三角分解法 Gauss消元,初等行变换,化原方程组为上三角型。记,则 (三角因子分解) 叫的三角(因子)分解,其中 是定义3.1 下三角,是上三角。为单位下三角阵(对角元全为1),定义3.2 若定义3.2 若为上三角阵,则称 为Doolittle分解;若 是下三角, 是单位上三角,则称 为Crout分解。 为什么要讨论三角分解?若在消元法进行前能实 现三角分解, 则从而容易回代求解。1.直接三角分解法(Doolittle分解为例)  由矩阵乘法……………………… …….(k)例3.1用Matlab实现LU分解在Matlab程序编辑器中输入:function [L,U]=nalu(a) % a为可逆方阵;L返回单位下三角矩阵;U返回上三角矩阵n=length(a);U=zeros(n,n);L=eye(n,n);U(1,:)=a(1,:);L(2:n,1)=a(2:n,1)/U(1,1);for k=2:n U(k,k:n)=a(k,k:n)-L(k,1:k-1)*U(1:k-1,k:n); L(k+1:n,k)=(a(k+1:n,k)-L(k+1:n,1:k-1)*U(1:k-1,k))/U(k,k);end程序运行结果:2.平方根法定理3.1 设A对称正定,则有非奇异下三角阵L,使分解方法:设3.列主元的三角分解法例4 对下面的增广矩阵用列主元三角分解法分解。四、解三对角方程组——追赶法利用Gauss消元法得到同解的三角方程为 , (3.1)故有解(3.2)解(3.3) (3.1) —(3.3) 叫追

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值