马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
function [X]=Gauss(A,B)9 v0 Z5 ]" i8 q. i6 O, p6 J
[m,n]=size(A);
: T' g6 U4 I; k' N% bl=length(B);, G( l9 b! K/ q* l! V* k
if n~=m
u% i. w8 k3 }% t) q) O3 l. m fprintf('wrong');
/ n& Q4 P# p3 q# t* @- `. c0 b) M# j* ~ return;end+ d; m6 |& ~" l A
if m~=l
4 L3 b- w* ]# D' H# E fprintf('wrong');# f$ E# i1 c% z$ N/ f. J; G
return;end
T* o( b& @' M. |& L6 V' F' Cfprintf('go to calculate');
: ^8 D9 q- b) I+ M! C" ]6 Y% ^for k=1:n-11 s3 ?) X, D, l( I- l; ?7 T
max=0;+ C- M5 w( ` R
for j=k:n5 S5 L4 Q& [% B
if abs(A(j,k))>max3 i" n3 Q9 U3 j8 c4 Y* q, Q
max=abs(A(j,k));mark=j;# Y# P4 X& l- f# r3 n
end, F2 ]5 E3 j, U# F6 v4 _1 t
end0 z& H# v9 ^" k5 W* c
if abs(max)<1e-56 O) |: t* a. x5 a- l
fprintf('wrong');
& D& C& g* n$ k( I6 H/ G0 S& j return;end" U9 M j) G2 X2 U: A0 L/ i
for i=k:n; d" i7 Y! U3 ~: z4 R
a=A(k,i);A(k,i)=A(mark,i);A(mark,i)=a;4 K. l! _) ]7 D( l
end7 {4 Z4 b% W& l6 M: o" Z* C: M
b=B(k);B(k)=B(mark);B(mark)=b;, i, j# L, R' o1 N, G+ j7 C2 o
for j=k+1:n& \# ?$ ^) n& e2 T {; Q
m=A(j,k)/A(k,k);" m# L. C1 P3 Q/ L$ Y0 r. V
for i=k:n* W$ c2 L3 C1 \- t9 K+ T
A(j,i)=A(j,i)-m*A(k,i);
* S5 _& G6 N& }3 I" t# m2 p end7 a) b, m: u; s% t% x& A4 t
B(j)=B(j)-m*B(k);8 p( ]/ a2 x1 N6 n8 L( m
end
- B" _. m: V8 T4 I: J% M, S+ }End+ a5 t- @3 \5 ^' c1 z
for j=n:-1:14 |9 o9 f1 C0 O4 M Z2 z% c6 ?
for i=j+1:n1 p2 Z+ p0 X' s4 c5 Y
B(j)=B(j)-A(j,i)*X(i);
+ u( l( l; y3 j; v6 B3 w8 _1 z( o6 p end
; e2 J" ?& w( S+ M X(j)=B(j)/A(j,j);
( ^# Y5 l/ H( d- y+ Mend
! a2 |6 Z. H! b9 v0 o5 |) o6 G+ x
* }( ?5 V; C% p+ y |