马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
function [X]=Gauss(A,B)
! D! i h: c" T' `# q" W[m,n]=size(A);
; K' B' n# _& |1 e7 e. N4 Fl=length(B);, Q" z" s+ A1 B- `, T* y. v3 `* p
if n~=m
" `* D7 x$ J: o fprintf('wrong');! g) s( W3 Y' u# n q& ?, S) L
return;end
: M2 J7 t( m0 B; z P( c! Oif m~=l
/ T M1 [+ Q+ l& @+ T. B1 M) Y fprintf('wrong');0 T! h- E. ?+ E" ?. C7 V
return;end
: r% Y' Q2 ^* q, Ufprintf('go to calculate');
+ z2 U/ w* s0 H5 t5 wfor k=1:n-1
: Q5 D! g5 A8 v/ q% l, D max=0;
! t" ` [5 s9 C0 E for j=k:n3 h$ V; [& N, w! R; ~" V& f7 Q
if abs(A(j,k))>max8 u: n. g9 W6 [3 U! A; r; v
max=abs(A(j,k));mark=j;" O3 \) V9 j( m6 Q) W- b: H) f
end
1 W8 n: |& c" l" I! c end
" \+ E8 K. ?7 M; a if abs(max)<1e-5
+ h) Z4 K" P. b4 l) a! P i! e, V fprintf('wrong');
2 M% O6 U7 \5 F6 e return;end- Q2 ]. _9 H2 M7 h/ }
for i=k:n$ m4 D4 E) k# P8 F9 u% b9 j4 P- T% h- r
a=A(k,i);A(k,i)=A(mark,i);A(mark,i)=a;
2 _+ A8 F- V. S' ~3 @6 F end
& O* w9 Q) E3 F2 c6 |# k) [ b=B(k);B(k)=B(mark);B(mark)=b;
$ S! a/ V* T' X# B* ?7 Z for j=k+1:n1 Q( B+ K# a4 P$ W) A3 B" K
m=A(j,k)/A(k,k);7 D/ w0 J& I" G$ a' r
for i=k:n
]; _7 l; Z; s- J A(j,i)=A(j,i)-m*A(k,i);+ X) n: G# B# G7 s
end# ?$ {" `- K# K, m
B(j)=B(j)-m*B(k);
4 H$ n# h$ ?% o4 C/ y% a- ~ end
9 \7 i/ W: r h) I$ d% O$ Q- {End/ F3 R: a/ x( X# W3 x: m% }/ B: }
for j=n:-1:13 x9 Y' o8 Y) S& A: i& ~* o e
for i=j+1:n7 _$ ]$ E3 o' x$ O. h
B(j)=B(j)-A(j,i)*X(i);" g" z, }) b' F* ^; ?$ Y! s
end
/ S$ \8 t d& h X(j)=B(j)/A(j,j);- E2 D: W4 `7 H3 t9 d
end) A9 K! c. H2 y
. [0 A" {- l; w- D3 Q |