数学建模社区-数学中国
标题:
雅可比迭代法解线性方程组
[打印本页]
作者:
seven3069
时间:
2016-10-12 22:38
标题:
雅可比迭代法解线性方程组
雅可比迭代法解线性方程组:
%雅可比迭代法解线性方程组;
4 A* Q+ @0 [/ R* e5 o
clc;clear;close;
& e( T& Y6 u; i$ n% P5 O& E
% digits(4);
8 J( B0 ~' {: C' V& R
A=input('请输入系数矩阵:');
6 K+ J2 Y3 q/ Y4 {' z
b=input('请输入b矩阵(列向量):');
: T9 S7 i9 z9 r1 k* X* P2 g
X0=input('请输入迭代初值(列向量):');
8 N3 H/ w2 b4 h4 m7 J/ C6 U
k=input('请输入迭代次数:');
0 \/ M6 a8 \1 e4 D- o* e2 {: ^1 ?
[M1,N1]=size(A);
1 \4 J1 e( I& Z8 p& w& `
% X0=[3.1481 4.8 2.037]';
( ]1 {2 `7 t- J# V
% f=X0;
# o3 a! X( U+ j7 x) K) F0 B
% X=X0;
/ u9 t/ b3 Y6 @
% vpa(X0);
2 X. Y' [& E7 @) ?+ {
% vpa(X);
, e# s- V/ q, `! y
% vpa(f);
( A, i/ T1 Z0 I, N" h7 b
OUT=[];
) b1 F7 ^9 O8 _8 I7 f
% vpa(OUT);
& h- ~! V8 J( k6 J4 c0 i/ X+ d0 s
%M=[0 -0.2222 0.0370;-0.4 0 -0.1333;-0.0185 -0.0185 0];
* U3 U' A9 b3 p- X
%求解M矩阵;
7 l6 _8 C7 D+ w$ I* X& I$ s
for m=1:M1
7 q+ c# d5 [7 S0 g4 ^$ @- a5 C" H
for n=1:N1
9 i1 I$ U4 g$ P. r
if m==n
* `; h; K& I* k ~' E
D(m,n)=A(m,n);
2 T/ u5 R7 J2 G4 @/ c9 Y
else
' m3 ~5 e! x3 S# i. x# P
D(m,n)=0;
8 q/ p& M5 w9 T/ `: W( G2 g
end
7 z! W3 b6 r0 r% m9 E
end
6 t# F/ @ d2 r
end
$ K. ]1 O1 S; k
LU=A-D
/ ^7 b+ g: G! O# D
M=-inv(D)*(LU)
0 L7 N1 n, f0 J3 @
f=inv(D)*b
) R* p4 x7 `+ B/ z( t
X=X0;
* J H6 R$ P6 U9 }" O9 A
%特征根求解;
: n: o/ {( }, K( a" \ M
[v,d]=eig(M)
. D6 v& X* Q# ^: {7 A* ^5 I3 o, g5 n
% vpa(M);
- Z% \3 c I7 @& C' H' z- j
for i=1:k;
+ e. x6 }( ~6 f; X
X=M*X+f;
+ ~4 T* t3 Q0 ]1 ~
OUT=[OUT;X'];
6 @: |3 k$ N2 T* i
K1(i)=i;
( H9 a/ g8 N& {! T5 y. ~
end
6 s, O3 M# H/ m1 ]
K1=[0 K1]';
& h0 U) s4 i/ Y2 d0 h: k% w( `3 O
OUT1=[X0';OUT];
/ r' v7 F9 e# Q0 x
OUT1=[K1 OUT1]
$ h2 }. I, C7 M
% vpa(OUT1);
% s* H+ z3 i/ M- R, J* i
xlswrite('C:\Users\LENOVO\Desktop\雅可比迭代法2.xls',OUT1);
7 }& `( E* N! w3 I
复制代码
结果输入与输出范例:
请输入系数矩阵:[5 -1 -1 -1;-1 10 -1 -1;-1 -1 5 -1;-1 -1 -1 10]
4 N+ p* N' V" W6 a; N
请输入b矩阵(列向量):[-4 12 8 34]'
/ O5 y7 C. \5 G R) A# [6 ~, g5 T
请输入迭代初值(列向量):[0 0 0 0 ]'
8 c* x$ V: z; T
请输入迭代次数:5
6 D9 M3 g# V3 P) t/ q- ~+ Z: e
结果输出:
# i# D4 s& a, ?* c$ d8 U8 q A# s
8 K6 ~& N. A& [; X9 l1 J+ T
LU =
: ]2 G2 {2 B8 L
; [2 a# S. S; t4 o8 l' {& b/ N. W
0 -1 -1 -1
' g' p# _& Z1 K) J6 E( ]1 t
-1 0 -1 -1
# r; ?; ^/ F" n7 F0 f% F+ |* [; z0 E
-1 -1 0 -1
4 \& N+ E' L% D7 M) A: p2 r
-1 -1 -1 0
4 [) A T1 F7 d5 M: D
+ J* ]# [2 Z7 \9 z3 E( e
# L) O& P; y. r; M, \
M =
. L. _5 O( i& A6 O4 l6 L W5 l2 H
+ e/ s8 x+ N/ o; [" W! s
0 0.2000 0.2000 0.2000
/ {9 y2 E5 B: j9 i# t
0.1000 0 0.1000 0.1000
! s! {& k0 V$ j: [
0.2000 0.2000 0 0.2000
% t* C3 X+ ]% o6 w
0.1000 0.1000 0.1000 0
, X/ i* d$ n5 `
0 q( E- L% G" N) g1 @: _! g7 Y2 T
, P1 e7 s P3 P- \5 \4 R" F0 f
f =
% |) @0 R; J8 B5 ~ [9 S
" A9 Q0 a% s$ _. _! V# Y( L x
-0.8000
3 p6 _3 R; @3 X% X+ @
1.2000
& Q, w( f" s3 L/ C
1.6000
* j& z" N0 B( n4 l/ q# }
3.4000
7 F& [5 ]. i* m
. k- b4 I9 L: f* f, k2 H" i
6 L3 q6 D* m) e. r: D/ Q0 u" O
v =
6 s: O7 c! q9 M' w. {
$ _; `5 h0 A6 c1 |/ }
-0.6082 -0.7071 -0.5406 0.0000
: u( i! {7 `/ ~8 v! {. x
-0.3607 -0.0000 0.4558 -0.7071
4 X ^& \; Q+ n4 t, m
-0.6082 0.7071 -0.5406 0.0000
1 [' @( J5 y) T J/ ]: R% o' _' t
-0.3607 -0.0000 0.4558 0.7071
n. i/ {+ F A T. r( z
R: C$ @1 Z6 D2 ? k9 ]
6 I) h* u ^7 R
d =
- z/ g: I* @, t+ ?; s! w
) N8 A' Z) ~/ N8 X: b* A0 Q! Q# ^
0.4372 0 0 0
3 |' b) W0 r, d8 J+ A
0 -0.2000 0 0
/ d1 ^2 o6 [- r$ k2 a
0 0 -0.1372 0
/ c% g2 G! L0 D+ D
0 0 0 -0.1000
2 e; W1 w8 q5 h: f: D7 q
8 i4 S# x. ~6 }% B. `; Y2 D; G
迭代结果输出:
. w4 s3 a2 y. b7 z( g. p& l
a" P4 V" }' M3 T2 a4 M7 Q+ l
OUT1 =
N2 v Y ~+ r- H+ R0 z6 l
' C+ l6 T: E. E4 a
0 0 0 0 0
( D% P- j: [% t/ M: j2 d' C
1.0000 -0.8000 1.2000 1.6000 3.4000
# P: a5 u% v _
2.0000 0.4400 1.6200 2.3600 3.6000
# t/ i; g, i: {+ l3 d2 N/ `: \3 U
3.0000 0.7160 1.8400 2.7320 3.8420
* E& @! V W5 I! L# N) }
4.0000 0.8828 1.9290 2.8796 3.9288
* Y& w3 l. z- B/ L5 Q4 C# Q
5.0000 0.9475 1.9691 2.9481 3.9691
复制代码
/ x2 y+ ]1 R1 e+ k' w
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5