数学建模社区-数学中国
标题:
雅可比迭代法解线性方程组
[打印本页]
作者:
seven3069
时间:
2016-10-12 22:38
标题:
雅可比迭代法解线性方程组
雅可比迭代法解线性方程组:
%雅可比迭代法解线性方程组;
( S! W I; J2 S9 D4 s8 ]) I% V
clc;clear;close;
6 K% J% N; O- y1 m
% digits(4);
, S& P* y/ L( B$ q5 C5 J3 X
A=input('请输入系数矩阵:');
" k0 o( L4 \1 Y4 H; @% M& ?6 f) z
b=input('请输入b矩阵(列向量):');
8 `9 K6 w# X; w4 D4 M
X0=input('请输入迭代初值(列向量):');
! Y5 m$ u. R5 s9 k z
k=input('请输入迭代次数:');
' X" \, M6 C) D1 ?" _" x
[M1,N1]=size(A);
. \* e$ |. Q5 u- P$ d
% X0=[3.1481 4.8 2.037]';
' M4 E4 W! \. Y* N" |0 S
% f=X0;
' Q7 R8 i# O9 t# m
% X=X0;
: p7 |, U$ s. e0 O+ S+ e* G3 E
% vpa(X0);
6 p& u# F4 [! U0 g4 X s
% vpa(X);
. x% p5 a8 m1 E4 Q: x$ h
% vpa(f);
& a/ n. F8 ? V2 b1 |4 [/ B
OUT=[];
* b0 | j: \- s9 _9 x6 j
% vpa(OUT);
" V2 _! H4 l0 S1 o5 r+ c5 {6 L
%M=[0 -0.2222 0.0370;-0.4 0 -0.1333;-0.0185 -0.0185 0];
# O) w2 D/ A6 ]* F. L# b( n# M
%求解M矩阵;
* K W3 Z7 ?* a" m
for m=1:M1
' i" o8 T1 g( W5 E
for n=1:N1
4 P; _/ c0 f _
if m==n
0 M# L5 L: N4 D: Z$ p, o" ?
D(m,n)=A(m,n);
% `/ G9 w. Q% {$ k5 t: P
else
' y) \* ?) k o' L2 r& l/ T
D(m,n)=0;
. Z2 E/ \7 i* k
end
; {1 K& `1 [, W5 B$ v& e
end
0 \5 r8 l' o# Y8 d' H! s! t
end
9 Z" y* O3 ?1 M4 ^( ^* ]% ~* O, r
LU=A-D
6 D5 f7 |. t* I( c1 c, j& l" ~+ h
M=-inv(D)*(LU)
. d5 y1 C" s0 Q/ J' \7 a7 Q
f=inv(D)*b
# C: P" x! o4 u4 d" l1 {$ B( }& n
X=X0;
" j/ F1 E* ?: [& w
%特征根求解;
! j3 {, U+ Q4 }
[v,d]=eig(M)
; }, k' F, q8 ]6 S
% vpa(M);
( I! J5 R; }& f# F
for i=1:k;
5 c% A5 p' A8 k2 Z% l
X=M*X+f;
7 h1 x9 E( ?0 x. Q$ Z
OUT=[OUT;X'];
: {' j) Y- _, m' Z
K1(i)=i;
$ Y$ Z$ x! S# p# @& G+ ]
end
8 G6 O0 B! v5 g1 k3 r
K1=[0 K1]';
p$ u; D, J' Z5 c1 @; S Y! D' e% [
OUT1=[X0';OUT];
' U' r* Z! `- G3 i7 W: E4 v
OUT1=[K1 OUT1]
* B6 l5 u9 s0 ~. V; X& [
% vpa(OUT1);
5 _* F; s5 s+ J7 ]1 H f
xlswrite('C:\Users\LENOVO\Desktop\雅可比迭代法2.xls',OUT1);
4 J X+ ?3 X ]/ o" a% B5 }
复制代码
结果输入与输出范例:
请输入系数矩阵:[5 -1 -1 -1;-1 10 -1 -1;-1 -1 5 -1;-1 -1 -1 10]
- X% b/ U5 D$ j, Q, w
请输入b矩阵(列向量):[-4 12 8 34]'
4 F1 f- I/ c7 s1 w! \2 ^& x* X
请输入迭代初值(列向量):[0 0 0 0 ]'
/ O, O- {4 v# B; }, |& z W
请输入迭代次数:5
; u* |; V8 W) X" r! p$ M
结果输出:
9 X0 |9 F2 y Y# d6 Z# s% P' o) D
( J+ @" z: Q h9 {2 p3 y
LU =
- o* Y2 J" @# X$ w7 m0 R5 a/ W2 ]
) g) O$ J" f9 {" \! @5 G) v* f% j
0 -1 -1 -1
- e3 i$ m8 v; \% q- M U& B- i" w
-1 0 -1 -1
& y& ]6 I3 i" i. A" J* p j
-1 -1 0 -1
$ b7 v) _( c) a
-1 -1 -1 0
* d9 @' N' c; c; @- ~
9 A5 G% h$ ]$ ^: }& `# Z
- U2 Q! Q# D4 `; L% ?# i# G
M =
! }4 l. l4 v) s+ ]7 K
0 i7 t% t. g" [
0 0.2000 0.2000 0.2000
& l$ k8 ^- }4 M9 H/ p$ x. a- ?
0.1000 0 0.1000 0.1000
8 y& V. D% C3 K- m) c
0.2000 0.2000 0 0.2000
) ^/ f1 t: M1 ?; W
0.1000 0.1000 0.1000 0
' R4 X" X" z, l- o2 X3 O1 n6 R
& `9 J1 P# E, D5 }# M* h3 i8 w
0 ]& U" E f4 N! K, [1 U/ \
f =
^1 a3 J5 e# N
$ X: f( E% O. L7 D9 L% f: z
-0.8000
2 Q( Z/ M- p! ]$ u
1.2000
' B% W: w" f+ ?6 x) |( v
1.6000
' W& V" \( d: W& c, k% m* b
3.4000
6 H; y/ a/ u0 P/ A; s: J
- i, e1 H* K2 X0 M8 T
7 M+ `' q' K; z0 f+ M s# t
v =
: f4 i3 f5 M( Q
! ]5 x" D8 }5 d. q: @: v! k. X
-0.6082 -0.7071 -0.5406 0.0000
1 {5 e$ T% ?1 e) n0 Y' W
-0.3607 -0.0000 0.4558 -0.7071
. H3 F- E& ~9 @$ U
-0.6082 0.7071 -0.5406 0.0000
S& S9 y8 t8 L2 U5 Y4 J
-0.3607 -0.0000 0.4558 0.7071
d9 L8 f( r4 J% [
0 _6 g1 e# I7 h
* ^% h6 ?/ I6 U; |) Y
d =
5 m; J& e8 O" M _
5 `4 l$ `# K* c6 x& A+ H
0.4372 0 0 0
5 a6 d- ^" c2 r4 i3 @
0 -0.2000 0 0
. [- B6 z9 v9 P4 \, I5 U3 W9 x
0 0 -0.1372 0
1 t. @, M% i* {" G6 h
0 0 0 -0.1000
7 i% v* \& E- _' ` I
) X, j6 O4 r" J0 X
迭代结果输出:
( Q% l* u" P, }( ?: V$ |: X8 f
! `: ?0 H/ c% {9 w" y* E: Q
OUT1 =
7 S. x. y3 b: B0 ~1 I# n# R
7 W) f3 H* l# l) \- i; b: U. D
0 0 0 0 0
9 T+ b4 o* v! r) l6 i
1.0000 -0.8000 1.2000 1.6000 3.4000
# R' F( G" i* _+ Q8 W
2.0000 0.4400 1.6200 2.3600 3.6000
4 a) _% r2 L- q. D
3.0000 0.7160 1.8400 2.7320 3.8420
3 c J: J2 f+ S% E" A
4.0000 0.8828 1.9290 2.8796 3.9288
/ `5 S! A& t4 Z9 q1 |3 w
5.0000 0.9475 1.9691 2.9481 3.9691
复制代码
4 u. k6 f0 M# ]: ]1 H- D4 X
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5