[工学]实验二直接法解线性方程组.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]实验二直接法解线性方程组

实验二 解线性方程组的直接方法 刘广利 Matlab实验讲解 列主元高斯消去法 A=[-3 2 6; 10 -7 0; 5 -1 5] b=[4 7 6] gauss(A,b) ans= 0.0000 -1.0000 1.000 再输入:[x, det, flag]= gauss(A,b)回车 X=0 -1 1 det=155 flag=OK 用平方根法解线性代数方程组的算法 (1)对矩阵A进行Cholesky分解,即A=LLT,由矩阵乘法: 对于 i = 1, 2,…, n 计算 j=i+1,i+2,…,n (2)求解下三角形方程组 LY=b (3)求解LTX = y 由于此法要将矩阵A作LLT三角分解,且在分解过程中含有开方运算,故称该称为LLT分解法或平方根法。 n = length(A); L=zeros(n); for i=1:n z=0; for k=1:i-1 z=z+L(i,k)^2; end L(i,i)=sqrt(A(i,i)-z); for j=i+1:n z=0; for k=1:i-1 z=z+L(j,k)*L(i,k); end L(j,i)=(A(j,i)-z)/L(i,i); end end j=i+1,i+2,…,n for i=1:n z=0; for k=1:i-1 z=z+L(i,k)*y(k); end y(i)=(b(i)-z)/L(i,i) End for i=n:-1:1 z=0; for k=i+1:n z=z+L(k,i)*x(k); end x(i)=(y(i)-z)/L(i,i); end A=[4 -1 1 ; -1 4.25 2.75; 1 2.75 3.5] [L, flag]=Col_Factor(A) L= 2 0 0 -0.5 2 0 0.5 1.5 1 Flag=OK 用平方根法: A=[9 -36 30; -36 192 30; 30 -180 180] b=ones(3,1) R=chol(A) 回车 再输入:x=R\(R’\b)回车 Jordan消去法 A=[1 2 3; 5 4 10; 3 -0.1 1] b=[1 0 2] Jordan(A,b) ans= 1.2000 2.0000 -1.4000 矩阵的三角形分解 直接三角分解法解AX = b的计算公式 对于r = 2, 3, …, n计算 (2)计算U的第r行元素 (3)计算L的第r 列元素 (r ? n) (1) (4) (5) L = eye(n);U = zeros(n); for i=1:n U(1,i)=A(1,i); L(i,1)=A(i,1)/U(1,1); end for r=2:n for i=r:n z=0; for k=1:r-1 z=z+L(r,k)*U(k,i); end U(r,i)=A(r,i)-z; end for i=r+1:n z=0; for k=1:r-1 z=z+L(i,k)*U(k,r); end L(i,r)=(A(i,r)-z)/U(r,r); end end y(1)=b(1); for i=2:n z=0; for k=1:i-1 z=z+L(i,k)*y(k); end y(i)=b(i)-z; end x(n)=y(n)/U(n,n); for i=n-1:-1:1 z=0; for k=i+1:n z=z+U(i,k)*x(k); end x(i)=(y(i)-z)/U(i,i); end function [L,U,y,x]=LU_Decom1(A,b) 实验5.1 (主元的选取与算法的稳定性)

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档