数学建模社区-数学中国
标题:
雅可比迭代法解线性方程组
[打印本页]
作者:
seven3069
时间:
2016-10-12 22:38
标题:
雅可比迭代法解线性方程组
雅可比迭代法解线性方程组:
%雅可比迭代法解线性方程组;
: `! R( ~4 @- a/ A( | S! t) U0 y
clc;clear;close;
5 ^1 T- x# w+ H, F
% digits(4);
% C' r2 `6 J; q
A=input('请输入系数矩阵:');
9 |3 b, {6 ]+ P5 Z4 B& ?* L4 H7 i
b=input('请输入b矩阵(列向量):');
; x5 u* D7 n; ]' G& E5 `+ i3 L& J
X0=input('请输入迭代初值(列向量):');
0 i/ k" }, q; u- U, H/ v
k=input('请输入迭代次数:');
: q2 Q- p! a" `2 R6 ^! _$ @
[M1,N1]=size(A);
2 K, V3 _, S0 W6 D& v8 v
% X0=[3.1481 4.8 2.037]';
/ G0 m% j6 }6 h# U3 V& k* ~* T
% f=X0;
2 ~! o6 G; w% b: m
% X=X0;
( `) X) `. k7 l+ J% Y* E
% vpa(X0);
9 G: R8 W3 i2 U
% vpa(X);
9 u7 S! C* u+ i% K& i
% vpa(f);
: v h( `& ~& e0 L8 X9 m
OUT=[];
- ]: j0 p& x+ {# k8 v
% vpa(OUT);
+ K4 V, q; x/ G6 V P0 t' ?
%M=[0 -0.2222 0.0370;-0.4 0 -0.1333;-0.0185 -0.0185 0];
: o0 ~& V$ h& |1 q! E9 Q
%求解M矩阵;
7 @2 i' _, N C
for m=1:M1
1 @6 \5 L& ?, q8 P; s) y4 @5 E" D
for n=1:N1
/ v# Y- [! o7 |5 w' {& D% Y
if m==n
5 i z8 k& ?3 _! w
D(m,n)=A(m,n);
9 A8 t; @/ v% z
else
: L% R7 K+ L9 ]- _6 u9 ~5 I
D(m,n)=0;
2 Q1 J( R" k& S: J. W6 `
end
- h% p7 V- X. f5 I9 b; f
end
- u; ?3 Q4 H0 s' p; k- l
end
# R2 X6 }: [4 d3 ]+ [
LU=A-D
1 |9 j3 w1 T S' N+ T
M=-inv(D)*(LU)
/ @. q; U. Z" g9 r! g- E8 Z9 M
f=inv(D)*b
1 ?$ L; e+ g/ j
X=X0;
/ y" m% V2 P9 ]4 I. X7 M
%特征根求解;
3 d1 s9 q3 Z4 I* T" e7 {0 h. Z
[v,d]=eig(M)
. v! m# Y8 ]: x
% vpa(M);
+ @$ Z% @) }* }% a) A8 }
for i=1:k;
" n0 \, J; N2 i* m! R3 m+ a& l
X=M*X+f;
$ k1 `/ K! f! C6 Y# V
OUT=[OUT;X'];
! Q1 `9 `0 p. G: k6 p) |( n8 p' F
K1(i)=i;
3 i( E% g6 M$ g7 O
end
X s9 r7 h( y% J0 d/ m
K1=[0 K1]';
* N/ w, E5 N2 o, T0 e& N5 b" a
OUT1=[X0';OUT];
3 k4 J! n. {& R$ {: n
OUT1=[K1 OUT1]
[2 y$ | r# U) d. d; O
% vpa(OUT1);
! f. k: V( l S" ^/ `& b9 Q
xlswrite('C:\Users\LENOVO\Desktop\雅可比迭代法2.xls',OUT1);
: j% p, O j2 D( e' c9 d) @
复制代码
结果输入与输出范例:
请输入系数矩阵:[5 -1 -1 -1;-1 10 -1 -1;-1 -1 5 -1;-1 -1 -1 10]
$ F" }: I$ j1 w5 M7 n m( {
请输入b矩阵(列向量):[-4 12 8 34]'
$ G- M% C( ], L" Z$ R7 b- {
请输入迭代初值(列向量):[0 0 0 0 ]'
( {+ K$ ^- D& Y
请输入迭代次数:5
. X& Y4 m# x+ f
结果输出:
1 l: K. q! M l& Q
' E! y9 }: [9 J
LU =
, l! r* A* c2 B' f. J
m* J8 a# Z9 P+ t0 S; R* ~
0 -1 -1 -1
2 X3 @4 C) x0 p$ Q2 p1 e6 V6 I
-1 0 -1 -1
+ B- u, F1 j! q+ G% e. X
-1 -1 0 -1
0 U! z. H( i) i
-1 -1 -1 0
& Z: b! W' q" h( m' s. J
5 G# v& m8 `$ i4 W0 I. |5 W/ t, U
B" k; N" n0 T
M =
5 H( J3 \$ b. T/ j" e
$ W2 R8 ?$ [% z
0 0.2000 0.2000 0.2000
' o8 x- Y* A$ r( n# G, n
0.1000 0 0.1000 0.1000
+ Z$ i! X4 e: w2 }
0.2000 0.2000 0 0.2000
: {6 ^! [/ F. S# |
0.1000 0.1000 0.1000 0
6 ^5 x% w L G6 I, u- l3 o% _
5 ?+ B2 [$ \* r+ F
' z- |% z* N! Q$ I3 n
f =
) v/ i, Y- C# i- X
- F7 A& O4 O$ Z& s+ e
-0.8000
$ ~% I, t3 `% H3 ?( p% s+ y% {
1.2000
7 O3 i& s" G& [- z; @# T3 c4 w9 C
1.6000
# O) o/ z6 S2 c* n8 F; C$ m
3.4000
0 p4 C$ q9 I; ?' m, z
1 U, l' i+ R/ I
& B) s# s) b. S) t+ \
v =
9 D l* T4 ~7 A! Q$ P( B
" M% Y9 h: E4 U' W3 B& J6 `
-0.6082 -0.7071 -0.5406 0.0000
# |* n' G/ B1 y( l5 p
-0.3607 -0.0000 0.4558 -0.7071
8 z# A# z1 B7 A, V7 K& z
-0.6082 0.7071 -0.5406 0.0000
% i6 R& n1 s) _; i5 O
-0.3607 -0.0000 0.4558 0.7071
/ y7 g' E7 M; u. e, f7 g2 o3 |
' [5 L+ q2 t! j5 _. d% i
) a4 K9 s4 w" b1 Z: N
d =
! E( T4 ?0 p# `. S) c
3 V n, F) C1 t6 `2 `% i$ N! K
0.4372 0 0 0
; F) b4 O# E# Y* S. L
0 -0.2000 0 0
, p2 l: }8 ^ O3 A% l
0 0 -0.1372 0
0 e$ b2 E, l6 V0 ?; |& X& i
0 0 0 -0.1000
+ t8 k; C+ w5 {7 T6 ^
" t+ @$ z: w" |9 r" `8 b* {
迭代结果输出:
, c* V. Y$ C+ q: K/ |( H
, ]. k- H& c, a: e7 ^
OUT1 =
0 c2 {/ O0 B4 T7 a
5 \- d+ P( X1 m6 Y' D
0 0 0 0 0
7 C2 e( A6 U9 |' v& U1 A+ C
1.0000 -0.8000 1.2000 1.6000 3.4000
c" }, _% e; ]7 z
2.0000 0.4400 1.6200 2.3600 3.6000
+ }6 o1 i& \* V3 G7 t
3.0000 0.7160 1.8400 2.7320 3.8420
7 ~$ u8 r# D5 @# l3 C( h6 A$ s
4.0000 0.8828 1.9290 2.8796 3.9288
( c9 @, H) M4 v( v* ?( H
5.0000 0.9475 1.9691 2.9481 3.9691
复制代码
$ Y/ y7 }2 b0 n/ J k
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5