9512.net

Gauss全主元消去法

Gaussian elimination with complete pivoting
To keep the Gaussian elimination method smooth operation,We must ensure that the pivot element a
( k ?1) kk

?0

and a

( k ?1) kk

can not too small in each

operation.So the selection of appropriate pivot elements in every step of elimination.,the maximum absolute value or the major elements as the pivot element， this improved Gaussian elimination method named Gauss pivot element elimination. There have 3 methods to select pivot element,Gaussian elimination with partial pivoting 、 scaled partial pivoting、complete pivoting.Through access to some data,I the Gaussian elimination with complete pivoting briefly. Complete entries a
( k ?1) ij

introduce

pivoting
(i ? k , j ? k )

at

the

k

th

step

searches

all

the

,to find the entry to the largest magnitude.Both row

and column interchanges are performed to bring this entry to the pivot position. The specific steps：
? (0) ? (0) ? ? ? ( 0) ? ( 0) , a1n xn a1,n?1 ?a11 x1 a12 x2 (0) (0) ( 0) ( 0) ? ?a21 x1 ? a22 x2 ? ? ? a2 n xn ? a2,n ?1 , ? ?? ? (0) (0) ( 0) ( 0) ? ?an1 x1 ? an 2 x2 ? ? ? ann xn ? an ,n ?1

The

k th

elimination,find all a
( k ?1)

( k ?1) ij

（i=k， k+1,,n; j=k,k+1 ? n),the

a ??

( k ?1)

is

the pivot element. a??

? maxaij

( k ?1)

Both row and column interchanges are performed to bring this entry to the pivot position.Move

a ??

( k ?1)

to

(k,k).Until

the

n-1 step, the

original equation into the same equations on triangular solution:
? ( 0) ? (0) ? ( 0) ? ? ? (0) ? ( 0) , a1n xn a1,n?1 ?a11 x1 a12 x2 a13 x3 ( 1 ) ( 1 ) (1) (1) ? ? a23 x3 ? ? ? a2 n xn ? a2,n ?1 , a x 22 2 ? ( 2) ( 2) ( 2) ? ? a33 x3 ? ? ? a3n xn ? a3,n?1 , ? ? ? ( n ?1) ( n ?1) ? ? an ,n ?1 , a x nn n ? ?

Backward substitution： Backward substitution is the solution of triangular systems .If a then
1 ( n ?1) ? ? xn ? ( n ?1) a n ,n ?1 , an,n ? ? n ? ( i ?1) ? ? 1 ? (i ?1) ? , i ? n ? i, n ? 2,? ,1. ? ? x a a x ( i ? 1 ) i , n ?1 ij j? ? i j ? i ? 1 ? aii ? ?
( n ?1) nn

?0

Algorithm：
function x=Gauss(A,b) B=[A,b]; n=length(A); x=zeros(n,2); for i=1:n x(i,1)=i; %x 第一列数字 i 代表 x（i） end for i=1:n-1 [m,p]=max(abs(B(i:n,i:n)));%求绝对值最大系数所在行号和列号 [l,q]=max(m); if m==0; disp('A 奇异') return

end if p(q)+i-1>i %行变换 pm=p(q)+i-1; C(i:n+1)=B(i,i:n+1); B(i,i:n+1)=B(pm,i:n+1); B(pm,i:n+1)=C(i:n+1); end if q+i-1>i %列变换 q=q+i-1; D(1:n)=B(1:n,q); B(1:n,q)=B(1:n,i); B(1:n,i)=D(1:n); E(1:2)=x(q,:);%调换解的顺序 x(q,:)=x(i,:); x(i,:)=E(1:2); end for k=i+1:n %消元 am=B(k,i)/B(i,i); B(k,i:n+1)=B(k,i:n+1)-am*B(i,i:n+1); end end x(n,2)=B(n,n+1)/B(n,n); for i=n-1:-1:1 %回代 xx(i+1:n)=x(i+1:n,2); x(i,2)=(B(i,n+1)-B(i,i+1:n)*xx(i+1:n)')/B(i,i); end for i=1:n-1 % 调换解的顺序 [u,r]=min(x(i:n,1)); if r+i-1>i r=r+i-1; xf(1:2)=x(i,1:2); x(i,1:2)=x(r,1:2); x(r,1:2)=xf(1:2); end end end For example P89，Exercises2

>> A=[1.19 2.11 -100 1;14.2 -0.122 12.2 -1;0 100 -99.9 1;15.3 0.110 -13.1 -1];b=[1.12;3.44;2.15;4.16]; x=Gauss(A,b)

x= 1.0000 2.0000 3.0000 4.0000 0.1768 0.0127 -0.0207 -1.1826

Matlab程序Gauss主元消去法
Matlab程序Gauss主元消去法_IT/计算机_专业资料。.Gauss主元消去法求解线性方程组 ? 6 ? ? 2 ? ?2 ? ?1 2 1 ?2 ? ? x1 ? ? 4 ? ?? ? ...
Gauss主元消去法程序设计
x2 ? 2 三、实验环境 MATLAB R2014a 四、实验步骤 1.高斯主元消去法流程图: 开始 输入系数阵 a 和常数项 b 按列选主元 交换元素 计算消元 回代 ...
Gauss主元消去法
1) 在 Gauss 消去法中有着突出的作用,第 k 步消元时,要用 a kk ( k ...消元会失败,即使主元 a kk ≠ 0,但很小时,舍入误差也会使计算结果面目全...

Gauss主元消去法实验
<数值计算方法>实验报告 1.实验名称 实验 2 2.实验题目 用 Gauss主元消去法求解线性方程组。 Gauss主元消去法 ?0.001x1 ? 2.000 x 2 ? 3.000 ...

:用 Gauss主消去法求解线性方程组 0.001*X1+2.000*X2+3.000*X3=1.000 -1.000*X1+3.217*X2+4.623*X3=2.000 -2.000*X1+1.072*X2+5.643*...