马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
function [X]=Gauss(A,B)
0 t4 g7 C; j0 H8 K+ R3 j6 X. y[m,n]=size(A);8 W0 u, W6 E6 P. ]; B0 q) }: g
l=length(B);
) a) {4 s: f) v' }! U% O: Gif n~=m
- @5 Y" v- \( M fprintf('wrong');
/ U+ l6 E2 i& n7 L: M return;end# a0 h. ~- y/ {1 T% Q
if m~=l2 J- R8 C7 G; L- o; g
fprintf('wrong');
! C1 E( \. V6 _1 K* T, ]+ [ return;end
* j. @7 r' |% E9 jfprintf('go to calculate');' ~! D1 Z! Z) m2 a+ B
for k=1:n-1" @! ?- v9 `6 `1 ~
max=0;+ j7 O# q) l& ]4 n; @/ U0 t
for j=k:n4 q9 h( b' y) }; @
if abs(A(j,k))>max7 _, L3 Y5 a2 X, Y% I
max=abs(A(j,k));mark=j;6 i6 q% q' F- P8 ^8 M
end
& Q: u) G" ?0 D! @9 G& W3 y4 Y end+ k. j2 e2 J9 |, S2 `$ x3 U
if abs(max)<1e-5
7 K) N( ?2 z6 V D' I4 {! j fprintf('wrong');
5 o2 X5 w% e' {# I, T- { return;end
" j0 R: J8 j" J! i. c for i=k:n
; J, ?( W1 R$ O8 {" l+ {( J a=A(k,i);A(k,i)=A(mark,i);A(mark,i)=a;
# X/ `( w" H8 r& h( h: P end8 A! l! J: U4 b% K6 d# h( E
b=B(k);B(k)=B(mark);B(mark)=b;
, h6 A$ H$ }# C# L2 d$ x7 O for j=k+1:n* f6 `" u( g& c U6 ? V# G
m=A(j,k)/A(k,k);
) U0 t6 ^8 v' D. S# O; _0 \ for i=k:n! P! H6 m3 m! U; Z6 U: a& Z
A(j,i)=A(j,i)-m*A(k,i); l0 K3 L6 H& c& _8 Y
end5 J' g1 q( Z9 |2 R9 g$ P" }3 }
B(j)=B(j)-m*B(k);
5 Z: j+ u2 ]9 u6 f end3 @4 d1 Y, f! |0 }
End
& y" o/ m) R* o& w% k- |for j=n:-1:1: L! a" f; X; o9 t- ?; l% f% N
for i=j+1:n
4 k) t- n$ @9 ]# m' c2 b$ t3 Q B(j)=B(j)-A(j,i)*X(i);' q( ^6 V- `6 i4 g) p- V1 w& _- ~! o$ r
end6 C4 Q. S9 {# E( F0 G
X(j)=B(j)/A(j,j);
5 |# _) B# I' F0 g! k, c' Q& cend
* F7 l/ E* i2 a- s+ @
5 {$ ?2 U* u# K |