数值分析第五章 第一题: LU 分解法: 建立 m文件 function h1=zhijieLU(A,b) %h1各 阶 主 子 式 的 行 列 式 值 [n n]=size(A);RA=rank(A); if RA~=n disp('请 注 意 : 因 为 A的 n阶 行 列 式 h1等 于 零 , 所 以 A不 能 进 行 LU分 解 。A的 秩RA如下: ') RA,h1=det(A); return end if RA==n for p=1:n h(p)=det(A(1:p,1:p)); end h1=h(1:n); for i=1:n if h(1,i)==0 disp('请 注 意 : 因 为 A的 r阶 主 子 式 等 于 零 , 所 以 A不 能 进 行 LU分 解 。A的 秩RA和各 阶 顺序主子 式 h1依次如下: ') h1;RA return end end if h(1,i)~=0 disp('请 注 意 : 因 为 A的 r阶 主 子 式 都不 等 于 零 , 所 以 A能 进 行 LU分 解 。A的 秩RA和各 阶 顺序主 子式 h1依次如下: ') for j=1:n U(1,j)=A(1,j); end for k=2:n for i=2:n for j=2:n L(1,1)=1;L(i,i)=1; if i>j L(1,1)=1;L(2,1)=A(2,1)/U(1,1);L(i,1)=A(i,1)/U(1,1); L(i,k)=(A(i,k)-L(i,1:k-1)*U(1:k-1,k))/U(k,k); else U(k,j)=A(k,j)-L(k,1:k-1)*U(1:k-1,j); end end end end h1;RA,U,L, X=inv(U)*inv(L)*b end end 输 入 : >> A=[10 -7 0 1;-3 2.099999 6 2;5 -1 5 -1;2 1 0 2]; >> b=[8;5.900001;5;1]; >> h1=zhijieLU(A,b) 输出: 请注意:因为A 的r 阶主子式都不等于零,所以A 能进行LU 分解。A 的秩 RA 和各阶顺序主子式h1 依次如下: RA = 4 U = 10.0000 -7.0000 0 1.0000 0 2.1000 6.0000 2.3000 0 0 -2.1429 -4.2381 0 -0.0000 0 12.7333 L = 1.0000 0 0 0 -0.3000 1.0000 0 0 0.5000 1.1905 1.0000 -0.0000 0.2000 1.1429 3.2000 1.0000 X = -0.2749 -1.3298 1.2969 1.4398 h1 = 10.0000 -0.0000 -150.0001 -762.0001 列主元高斯消去法: 建立 m文件 function [RA,RB,n,X]=liezhu(A,b) B=[A b];n=length(b);RA=rank(A);RB=rank(B);zhicha=RB-RA; if zhicha>0 disp('请 注 意 : 因 为 RA~=RB, 所 以 方 程 组 无 解 ') return warning off MATLAB:return_outside_of_loop end if RA==RB if RA==n disp('请 注 意 : 因 为 RA=RB, 所 以 方 程 组 有 唯 一 解 ') ...