数学建模社区-数学中国

标题: 雅可比迭代法解线性方程组 [打印本页]

作者: seven3069    时间: 2016-10-12 22:38
标题: 雅可比迭代法解线性方程组
雅可比迭代法解线性方程组:
  1. %雅可比迭代法解线性方程组;
    : `! R( ~4 @- a/ A( |  S! t) U0 y
  2. clc;clear;close;
    5 ^1 T- x# w+ H, F
  3. % digits(4);
    % C' r2 `6 J; q
  4. A=input('请输入系数矩阵:');9 |3 b, {6 ]+ P5 Z4 B& ?* L4 H7 i
  5. b=input('请输入b矩阵(列向量):');; x5 u* D7 n; ]' G& E5 `+ i3 L& J
  6. X0=input('请输入迭代初值(列向量):');0 i/ k" }, q; u- U, H/ v
  7. k=input('请输入迭代次数:');: q2 Q- p! a" `2 R6 ^! _$ @
  8. [M1,N1]=size(A);2 K, V3 _, S0 W6 D& v8 v
  9. % X0=[3.1481 4.8 2.037]';/ G0 m% j6 }6 h# U3 V& k* ~* T
  10. % f=X0;
    2 ~! o6 G; w% b: m
  11. % X=X0;( `) X) `. k7 l+ J% Y* E
  12. % vpa(X0);
    9 G: R8 W3 i2 U
  13. % vpa(X);
    9 u7 S! C* u+ i% K& i
  14. % vpa(f);: v  h( `& ~& e0 L8 X9 m
  15. OUT=[];- ]: j0 p& x+ {# k8 v
  16. % vpa(OUT);
    + K4 V, q; x/ G6 V  P0 t' ?
  17. %M=[0 -0.2222 0.0370;-0.4 0 -0.1333;-0.0185 -0.0185 0];
    : o0 ~& V$ h& |1 q! E9 Q
  18. %求解M矩阵;
    7 @2 i' _, N  C
  19. for m=1:M1
    1 @6 \5 L& ?, q8 P; s) y4 @5 E" D
  20.     for n=1:N1
    / v# Y- [! o7 |5 w' {& D% Y
  21.       if m==n5 i  z8 k& ?3 _! w
  22.           D(m,n)=A(m,n);
    9 A8 t; @/ v% z
  23.       else
    : L% R7 K+ L9 ]- _6 u9 ~5 I
  24.           D(m,n)=0;
    2 Q1 J( R" k& S: J. W6 `
  25.       end- h% p7 V- X. f5 I9 b; f
  26.     end- u; ?3 Q4 H0 s' p; k- l
  27. end
    # R2 X6 }: [4 d3 ]+ [
  28. LU=A-D
    1 |9 j3 w1 T  S' N+ T
  29. M=-inv(D)*(LU)
    / @. q; U. Z" g9 r! g- E8 Z9 M
  30. f=inv(D)*b
    1 ?$ L; e+ g/ j
  31. X=X0;
    / y" m% V2 P9 ]4 I. X7 M
  32. %特征根求解;3 d1 s9 q3 Z4 I* T" e7 {0 h. Z
  33. [v,d]=eig(M)
    . v! m# Y8 ]: x
  34. % vpa(M);+ @$ Z% @) }* }% a) A8 }
  35. for i=1:k;
    " n0 \, J; N2 i* m! R3 m+ a& l
  36.     X=M*X+f;
    $ k1 `/ K! f! C6 Y# V
  37.     OUT=[OUT;X'];
    ! Q1 `9 `0 p. G: k6 p) |( n8 p' F
  38.     K1(i)=i;3 i( E% g6 M$ g7 O
  39. end  X  s9 r7 h( y% J0 d/ m
  40. K1=[0 K1]';* N/ w, E5 N2 o, T0 e& N5 b" a
  41. OUT1=[X0';OUT];
    3 k4 J! n. {& R$ {: n
  42. OUT1=[K1 OUT1]
      [2 y$ |  r# U) d. d; O
  43. % vpa(OUT1);! f. k: V( l  S" ^/ `& b9 Q
  44. xlswrite('C:\Users\LENOVO\Desktop\雅可比迭代法2.xls',OUT1);: j% p, O  j2 D( e' c9 d) @
复制代码
结果输入与输出范例:
  1. 请输入系数矩阵:[5 -1 -1 -1;-1 10 -1 -1;-1 -1 5 -1;-1 -1 -1 10]
    $ F" }: I$ j1 w5 M7 n  m( {
  2. 请输入b矩阵(列向量):[-4 12 8 34]'$ G- M% C( ], L" Z$ R7 b- {
  3. 请输入迭代初值(列向量):[0 0 0 0 ]'( {+ K$ ^- D& Y
  4. 请输入迭代次数:5. X& Y4 m# x+ f
  5. 结果输出:
    1 l: K. q! M  l& Q

  6. ' E! y9 }: [9 J
  7. LU =
    , l! r* A* c2 B' f. J

  8.   m* J8 a# Z9 P+ t0 S; R* ~
  9.      0    -1    -1    -1
    2 X3 @4 C) x0 p$ Q2 p1 e6 V6 I
  10.     -1     0    -1    -1
    + B- u, F1 j! q+ G% e. X
  11.     -1    -1     0    -1
    0 U! z. H( i) i
  12.     -1    -1    -1     0& Z: b! W' q" h( m' s. J

  13. 5 G# v& m8 `$ i4 W0 I. |5 W/ t, U
  14.   B" k; N" n0 T
  15. M =5 H( J3 \$ b. T/ j" e

  16. $ W2 R8 ?$ [% z
  17.          0    0.2000    0.2000    0.2000' o8 x- Y* A$ r( n# G, n
  18.     0.1000         0    0.1000    0.1000+ Z$ i! X4 e: w2 }
  19.     0.2000    0.2000         0    0.2000
    : {6 ^! [/ F. S# |
  20.     0.1000    0.1000    0.1000         06 ^5 x% w  L  G6 I, u- l3 o% _

  21. 5 ?+ B2 [$ \* r+ F
  22. ' z- |% z* N! Q$ I3 n
  23. f =) v/ i, Y- C# i- X

  24. - F7 A& O4 O$ Z& s+ e
  25.    -0.8000
    $ ~% I, t3 `% H3 ?( p% s+ y% {
  26.     1.2000
    7 O3 i& s" G& [- z; @# T3 c4 w9 C
  27.     1.6000
    # O) o/ z6 S2 c* n8 F; C$ m
  28.     3.4000
    0 p4 C$ q9 I; ?' m, z

  29. 1 U, l' i+ R/ I

  30. & B) s# s) b. S) t+ \
  31. v =9 D  l* T4 ~7 A! Q$ P( B
  32. " M% Y9 h: E4 U' W3 B& J6 `
  33.    -0.6082   -0.7071   -0.5406    0.0000
    # |* n' G/ B1 y( l5 p
  34.    -0.3607   -0.0000    0.4558   -0.7071
    8 z# A# z1 B7 A, V7 K& z
  35.    -0.6082    0.7071   -0.5406    0.0000
    % i6 R& n1 s) _; i5 O
  36.    -0.3607   -0.0000    0.4558    0.7071/ y7 g' E7 M; u. e, f7 g2 o3 |

  37. ' [5 L+ q2 t! j5 _. d% i

  38. ) a4 K9 s4 w" b1 Z: N
  39. d =
    ! E( T4 ?0 p# `. S) c
  40. 3 V  n, F) C1 t6 `2 `% i$ N! K
  41.     0.4372         0         0         0
    ; F) b4 O# E# Y* S. L
  42.          0   -0.2000         0         0
    , p2 l: }8 ^  O3 A% l
  43.          0         0   -0.1372         00 e$ b2 E, l6 V0 ?; |& X& i
  44.          0         0         0   -0.1000
    + t8 k; C+ w5 {7 T6 ^
  45. " t+ @$ z: w" |9 r" `8 b* {
  46. 迭代结果输出:
    , c* V. Y$ C+ q: K/ |( H

  47. , ]. k- H& c, a: e7 ^
  48. OUT1 =
    0 c2 {/ O0 B4 T7 a

  49. 5 \- d+ P( X1 m6 Y' D
  50.          0         0         0         0         0
    7 C2 e( A6 U9 |' v& U1 A+ C
  51.     1.0000   -0.8000    1.2000    1.6000    3.4000  c" }, _% e; ]7 z
  52.     2.0000    0.4400    1.6200    2.3600    3.6000
    + }6 o1 i& \* V3 G7 t
  53.     3.0000    0.7160    1.8400    2.7320    3.84207 ~$ u8 r# D5 @# l3 C( h6 A$ s
  54.     4.0000    0.8828    1.9290    2.8796    3.9288( c9 @, H) M4 v( v* ?( H
  55.     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