马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
function [X]=Gauss(A,B)# M% P3 D/ }" ~
[m,n]=size(A);
/ e& V) g3 N; _l=length(B);( i8 X ~0 s1 d. p( E
if n~=m
6 N4 s/ O# O. d' U% a fprintf('wrong');
- @4 G; u4 v9 O# O+ ]* ^ return;end9 b6 M$ {& u: E) k- ~8 d
if m~=l
" e* w$ o o: K- X$ e+ F fprintf('wrong');
$ S& h2 p$ b( h1 l" \) r return;end9 A: U. m' D- n+ W. F& D3 C( o
fprintf('go to calculate');2 I4 g1 h2 x0 `; g. c9 `, h
for k=1:n-1
7 q `0 S& H. d1 _# y max=0;1 A; Y: ^7 K/ k+ W- v4 s4 f
for j=k:n
+ l+ U6 y9 `- e2 V if abs(A(j,k))>max
& a6 j5 V& J/ A( q max=abs(A(j,k));mark=j;
1 y" k/ K& p' L, M t end! J* n, S3 n% V/ b+ \0 B
end
/ N$ _( v9 f7 z& \ e if abs(max)<1e-5
1 @- l; G3 ^% m$ T0 a& W1 N- F fprintf('wrong');
3 N. c. O2 F* i6 }" r return;end6 i& g7 L; i! o4 T# M+ A0 @
for i=k:n
4 G3 I- g% N) r% n7 b a=A(k,i);A(k,i)=A(mark,i);A(mark,i)=a;
" m0 C' C5 I$ T2 J7 I; D end% p- |' ]# r5 }: _' L" m2 o l1 V
b=B(k);B(k)=B(mark);B(mark)=b;
& v6 S: \3 u- @ for j=k+1:n, k7 T- o% [0 m. m- j+ j" f' S, t
m=A(j,k)/A(k,k);
1 A1 `& L: \4 j$ V/ K for i=k:n
0 G/ h* A* X$ F1 P A(j,i)=A(j,i)-m*A(k,i);
! R" `& w2 W5 Q) R8 S% G end
: I3 B8 @ g% G/ p4 w8 f B(j)=B(j)-m*B(k);
7 A7 W; T D8 X, K' U( B) n/ g end
/ y, u7 T; W" g7 V3 NEnd; S, X9 K4 O) P1 N- X* `
for j=n:-1:1
4 T" W' E0 `5 |3 J for i=j+1:n
~5 }: t. q% J3 ~ B(j)=B(j)-A(j,i)*X(i);: {2 c9 s I6 ]' x$ Y; o! z2 u9 D5 a. I
end8 ^ s' N6 a8 |$ @1 ^2 v9 t
X(j)=B(j)/A(j,j);
: p4 j4 B D! B7 h9 Xend$ w8 h% P2 w! r
5 P% u( d# v, T |