数学建模社区-数学中国
标题:
雅可比迭代法解线性方程组
[打印本页]
作者:
seven3069
时间:
2016-10-12 22:38
标题:
雅可比迭代法解线性方程组
雅可比迭代法解线性方程组:
%雅可比迭代法解线性方程组;
% W9 ?3 Z* i; a! i6 G/ K# `! S
clc;clear;close;
/ N1 T& m/ H8 Z1 t' W, b; f
% digits(4);
1 D5 P/ c3 F0 q% P. F5 }
A=input('请输入系数矩阵:');
, h. G& `) z# }. m. a) }
b=input('请输入b矩阵(列向量):');
% M( t5 Q2 d7 K$ P5 C
X0=input('请输入迭代初值(列向量):');
+ `' s. f" s0 o& R: N' g: h; ]1 e
k=input('请输入迭代次数:');
( \- O/ S! L$ z1 H) w. t# V
[M1,N1]=size(A);
1 w% `. x) E- q, n
% X0=[3.1481 4.8 2.037]';
" N: y+ R6 |! n% F. Z! \1 a
% f=X0;
2 p4 |) j- G. r8 m& B! v
% X=X0;
( S( h' _- y2 s I9 o- V1 P; I, P% |8 j
% vpa(X0);
' |7 d L: {5 g4 _, G
% vpa(X);
# u- w4 a) R. x r9 C* ?
% vpa(f);
1 B8 D$ ^5 w/ o* R( P- H
OUT=[];
2 d t F( g' V/ ?$ V. ^
% vpa(OUT);
- j* x' U1 D5 N$ ~$ z, e% ?
%M=[0 -0.2222 0.0370;-0.4 0 -0.1333;-0.0185 -0.0185 0];
/ ~; c. y/ d% @
%求解M矩阵;
. m/ A8 G ]& P' @
for m=1:M1
7 D9 t) f% @0 v1 n$ e
for n=1:N1
/ A5 S( n3 C& U# |% `: G
if m==n
6 R4 ?2 J& G# W/ |
D(m,n)=A(m,n);
! \ D5 n9 N- y; T8 d# j
else
$ _+ y0 E; D- K' [5 b3 B: ~
D(m,n)=0;
3 f4 U4 ~& z( t) u0 F1 H% w
end
* T; d9 f3 {- H/ b
end
1 N( m u* C* s7 i: F$ ^& W% o- u
end
5 H D( c" {6 [! A# V9 Q- N9 |
LU=A-D
, k( }7 X: {0 ~' g, D
M=-inv(D)*(LU)
& p+ L5 X& k3 r" m! H
f=inv(D)*b
' T/ a E( F% h3 }0 m3 ?
X=X0;
( T$ }! h# @* ]' E& I
%特征根求解;
1 D0 Q& V. g; E: {1 V) d
[v,d]=eig(M)
' q! A, k. m& w2 j, [
% vpa(M);
; u& {6 a9 J! j3 z# K4 B4 v9 d7 [8 h: o
for i=1:k;
0 B$ M0 h) `$ X/ `3 U- B
X=M*X+f;
( k' Y: N: q- x" u6 n8 U
OUT=[OUT;X'];
' Z+ |- H8 D! r; a3 R( E, f1 V
K1(i)=i;
2 x+ Q2 f) b) @
end
+ M5 N& u% t0 o# h5 S H( B
K1=[0 K1]';
/ b7 \' K- S; w+ }3 ~
OUT1=[X0';OUT];
: N' v- G% D A+ ^% ]) k) O
OUT1=[K1 OUT1]
# }# t, N- h2 I6 f
% vpa(OUT1);
" ^; Z6 W. _9 z5 X" e0 w
xlswrite('C:\Users\LENOVO\Desktop\雅可比迭代法2.xls',OUT1);
9 c6 {8 o" `: o& D/ r
复制代码
结果输入与输出范例:
请输入系数矩阵:[5 -1 -1 -1;-1 10 -1 -1;-1 -1 5 -1;-1 -1 -1 10]
) W; u+ F% g6 l3 a K
请输入b矩阵(列向量):[-4 12 8 34]'
+ w2 s. Z! P# x: k0 B" R0 f: s, I
请输入迭代初值(列向量):[0 0 0 0 ]'
9 t& D$ ]7 Y4 c9 s" T. U
请输入迭代次数:5
( g5 ~ J) Y5 R- c3 `
结果输出:
+ r; @9 M9 ~: o7 D# R6 C: P% Y
6 U5 j! I: m7 a% M& T
LU =
) p& H* w& H5 X5 w- `
1 u4 a4 n m" Y$ d3 ]
0 -1 -1 -1
- r) T2 ? S b" t
-1 0 -1 -1
! J1 P) K$ i( h, U; a
-1 -1 0 -1
) E; N/ x: @* C
-1 -1 -1 0
: ^2 u2 w! g# |/ n1 Y2 u
# D; ~# n/ U! L+ ~/ }2 p
% L4 Y2 i, e; Z3 E- N7 K- R
M =
: u0 h2 u+ q: b1 Q. W& E( b; v
/ S* J1 w% E: }
0 0.2000 0.2000 0.2000
# q! F, X! z) K1 o! I7 ?* s
0.1000 0 0.1000 0.1000
0 [' J* t* s* o1 d# {$ e
0.2000 0.2000 0 0.2000
7 o/ Y: m, ?# f u8 G+ p1 c0 C
0.1000 0.1000 0.1000 0
+ W2 [: m4 m6 O& l" @. @" M: W$ y4 o
3 R/ {5 c" B# N
; ^; p) _) O) c. K* c
f =
( y. F) P9 i/ o0 A( o
9 k0 W$ O. P2 X1 L4 J* Z6 C
-0.8000
/ y. L0 U! D; Q; |6 c) B
1.2000
9 |6 M* j4 C$ J5 a0 p F; w
1.6000
6 {8 z4 O- j+ t1 F0 B
3.4000
" r' ]# L: z- B* B
" ?: [" L# w6 c3 w( e6 v1 h: G
6 [' K) d: r' G; Q
v =
4 d6 N6 B% x6 ~0 y
7 o1 x9 H3 h% Q" D# J6 w
-0.6082 -0.7071 -0.5406 0.0000
0 z0 T6 r+ c0 t/ g7 E
-0.3607 -0.0000 0.4558 -0.7071
: R! [0 h' J; ?( |% I! e
-0.6082 0.7071 -0.5406 0.0000
4 i+ r4 X6 n% H- W1 F
-0.3607 -0.0000 0.4558 0.7071
6 u. N+ u, q1 |, ~$ @8 ~; I X! T
) N" B8 c* ~. f1 a0 v! h, M; s$ v
% }" f0 L7 E4 m" K- u4 |7 c! Q# c
d =
6 N) G. d2 s. U- d
+ ]" g/ Q6 r1 `1 Y) C
0.4372 0 0 0
( {( n# H5 {9 }" I3 N
0 -0.2000 0 0
; M7 U9 P6 J$ d( _
0 0 -0.1372 0
" j, ~9 k7 ~1 X+ M4 Y* ^
0 0 0 -0.1000
, r% d7 m& H5 b+ d8 U$ Y
! K7 v% w0 F! U0 ?/ x5 x$ M
迭代结果输出:
! N8 b# b& \ O3 E$ i- r( K, o! i3 I2 K
* k+ u7 N6 r: o a
OUT1 =
2 v; @/ p% |7 V. l% M
7 q3 R, D* k! p; m8 G1 ?
0 0 0 0 0
/ h! N: }9 P0 H
1.0000 -0.8000 1.2000 1.6000 3.4000
4 h. d! V) D' a0 Q
2.0000 0.4400 1.6200 2.3600 3.6000
1 h+ m' y$ Z" I3 i
3.0000 0.7160 1.8400 2.7320 3.8420
8 |8 D o0 P0 Y6 }5 B
4.0000 0.8828 1.9290 2.8796 3.9288
5 L D% p% [0 r/ q
5.0000 0.9475 1.9691 2.9481 3.9691
复制代码
( q* \1 e! G$ M6 |9 w
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5