马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
function [X]=Gauss(A,B)4 o/ y# b$ Z' l0 N3 F" Q; G
[m,n]=size(A);
$ B& F/ Q# X; p% A# p4 `l=length(B);
4 E! b9 j9 F1 f8 ]( Pif n~=m
5 B' F4 J: a5 K+ ]' o; q fprintf('wrong');5 G. Z0 P, K1 h+ D* \/ F0 l* z$ S1 w0 U
return;end. q& Z2 e7 M/ l2 H
if m~=l6 d. w' n' }) O# X& u" m& g3 C) R
fprintf('wrong');7 J [, ]6 r) e9 H3 K: Y0 n, K6 t% t
return;end
& P9 J+ G d4 j% A2 Lfprintf('go to calculate');/ x$ @/ Y9 n, T Y6 Z
for k=1:n-1
+ Z" I3 b& q7 e# r% @. @ max=0;' I+ _; W' _5 p+ w
for j=k:n
1 U1 I) P6 _( W4 t- b* c: [) d if abs(A(j,k))>max
7 N' P- b$ \5 m9 [ max=abs(A(j,k));mark=j;
1 Z% h' ]& h& [( S end
5 l8 h, G. F9 q( y- R- q% z: @3 i end
/ w6 q! N0 p1 u+ g1 d if abs(max)<1e-5
4 c( O: v* D" M2 l fprintf('wrong');) H' n7 ~% G" m" n3 }+ B4 b" S
return;end5 l) u! R: |0 C' I$ M
for i=k:n
7 C; v( H+ w4 _0 `. T! {6 U a=A(k,i);A(k,i)=A(mark,i);A(mark,i)=a;& m B6 \) `/ U; V/ b' Y# c
end
& N+ t* ~* n$ U. |9 b b=B(k);B(k)=B(mark);B(mark)=b;
5 l" B1 X& B+ \2 @' X( d! w for j=k+1:n2 ~0 z5 j+ ^' t2 q$ B) P5 E; B
m=A(j,k)/A(k,k);
! C O' T9 H6 z! B5 O: a3 _ for i=k:n
6 K- [& N* A6 U# C! I4 n) L3 S8 ] A(j,i)=A(j,i)-m*A(k,i);* H' [, F( B4 |
end2 Q* y; c" i4 M% y/ Z; `# I! ]
B(j)=B(j)-m*B(k);
2 _$ b4 a& \( w A2 y, Z( u1 Y end% h( u9 D2 y* k3 I
End
: j' e$ W$ m+ T5 Sfor j=n:-1:1+ x1 f4 ]# Q. j" y. V# t2 \0 l8 k, a
for i=j+1:n
9 A c- x% j: V1 k& J$ d B(j)=B(j)-A(j,i)*X(i);
* J9 y& I y) e end: _6 w# Q0 Y" l8 f
X(j)=B(j)/A(j,j);7 q6 L8 w4 `8 k) h7 m* U; r% ~
end
8 a8 {* Z! j3 a, O6 h6 F2 b
4 G$ \# X' a( H. j( W: z/ u |