SlideShare a Scribd company logo
1 of 82
M A T L A B Ö Ù N G D U ÏN G
  TS . N G U YE Ã N H O Ø A I S Ô N
K H O A X A Â Y D Ö ÏN G & C Ô H O ÏC
           Ö Ù N G D U ÏN G
               2006
Chöông 1


MATLAB CAÊN BAÛN
M A TL A B C A Ê N B A Û N

    I. B IE Å U T H Ö Ù C ( E X P R E S S IO N )
                  Bieán soá ( variables)
                  Soá (Numbers)
                  Toaùn töû ( Operaters)
                  Haøm ( Functions)
                                           - toái ña 19 kyù töï coù nghóa
                                          - phaân bieät giöõa chöõ hoa vaø chöõ thöôøng.
                                           - baét ñaàu baèng moät töø theo sau laø töø hay soá hoaëc daáu (_).
B ie á n ( V a r ia b le s )              - bieán toøan cuïc (global) taùc duïng trong toøan chöông trình.
                                          - bieán cuïc boä (local) taùc duïng trong noäi taïi haøm (function)
                                          - moät soá bieán ñaëc bieät: pi, ans,…


     Kieåm tra bieán (w h o v a ø w h o s )
     X o ù a b ie á n ( c le a r v a ø c le a r a ll)


            Ví d u ï
              >> c l e a r a
              >> c l e a r b d e g r e e
              >> a
              u n d e f in e d f u n c t io n o r v a r ia b le
M A TL A B C A Ê N B A Û N

   1. S o á ( N u m b e r s )
          Taát caû nhöõng con soá ñeàu ñöôïc löu kieåu ñònh daïng (f o r ma t )
          Duøng haøm f o r m a t ñ e å ñ ò n h d a ï n g k i e å u s o á :

f o r m a t ( ñ ò n h d a ïn g )

         >> b=3/26;
         >> format long; b                           >> format +; b
         b=                                          b=
          0.11538461538462                           +
         >> format short e; b                        >> format rat; b
         b=                                          b=
          1.1538e-001                                    3/26
         >> format bank; b                           >> format short; b
         b=                                          b=
               0.12                                    0.1154
         >> format short eng; b                      >> format long eng; b
         b=                                          b=
          115.3846e-003                                115.384615384615e-003>>
         >> format hex; b
         b=
          3fbd89d89d89d89e
M A TL A B C A Ê N B A Û N

2 . To a ù n tö û ( o p e r a te r s )   (+, - , * / ,  ,^ ,’)
                                                  ,
       >> 2*4+2
       ans =
       10                                       MATLAB
       >> (2+sqrt(-1))^2
       ans =
       3.0000 + 4.0000i
              Caùc bieán khoâng caàn khai baùo tröôùc.
              Caùc kyù töï thöôøng vaø in laø phaân bieät.
              Keát thuùc caâu leänh vôùi “;” khoâng hieån thò keát quûa caâu
             leänh.
              Bieán maëc nhieân “ans”
         >> rayon = 1e-1;
         >> surface = pi * rayon * rayon
         surface =
         0.0314
                             >> volume= 4*pi*rayon^3/3;
                             volume =
                             0.0042
M A TL A B C A Ê N B A Û N
H a ø m c ô b a û n ( b a s is f u n c t io n s )                                       a b s , s q r t , e x p , s in , …
              cos( x + iy ) = cos( x) cosh( y ) − i sin( x) sinh( y )
                           eiz + e −iz
              cos( z ) =                                                          1
                               2                                           0.8

              >> x=-pi:0.01:pi;                                            0.6

              >> plot(x,cos(x)); grid on                                   0.4
                                                                           0.2
                                                                             0
    z = x + i * y → log( z ) = log(abs ( z )) + a tan 2( y, x) * i
                                                                           -0.2
               >> abs(log(-1))                                             -0.4
               ans                                                         -0.6
               3.1416                                                      -0.8

   z = x + i * y → r = abs ( z ); theta = a tan 2( y, x) = a tan( y / x)          -1
                                                                                   -4     -3   -2   -1   0   1   2    3      4

  >> z = 4 + 3 i ;
  >> r = a b s ( z )
  >> t h e t a = a t a n 2 ( i m a g ( z ) , r e a l ( z ) )                                        >> z=r*exp(theta*i)
  r =                                                                                               z=
      5                                                                                             4.0000+3.0000i
  the ta =
     0 .6 4 3 5
M A TL A B C A Ê N B A Û N
 Ö u t ie â n c a ù c p h e ù p t o a ù n
          >> a=2; b=3; c=4;
          >> a*b^c
          ans =
          162
          >> (a*b)^c
          ans =
          1296
o , lö u v a ø m ô û t a ä p t in ( f p r in t f , s a v e , f s c a n f , lo a d , f o p e n , f
           x = 0:.1:1; y = [x; exp(x)];                           0.00   1.00000000
           fid = fopen('exp.txt','w');                            0.10   1.10517092
           fprintf(fid,'%6.2f %12.8fn',y);                                   ...
           fclose(fid);                                           1.00   2.71828183
                  C höô ng             C h ö ô n g t r ìn h
                      t r ìn h                  c on
           c l e a rc a líln h l c
                        h ; c        f u n c t io n
                                                                  A=
           f i l e _d u l i e u           f i l e _d u l i e u     1 2      3
           lo a d d u lie u ,        A =[ 1 2 3 ; 4 5              4 5      6
                  A                       6 ;7 8 9 ] ;             7 8      9
                                     s a v e d u lie u A
M A TL A B C A Ê N B A Û N
a ø m x ö û l y ù s o á ( f i x , f l o o r , c e i l , r o u n d , s i g n , s o r t …)
                                                 round: laøm troøn
      fix: laøm troøn veà 0                       >> a=[1.25,-4.54,6.5,-7.1];
       >> a=[1.25,-4.54,6.5,-7.1];                 >> round(a)
       >> fix(a)                                   ans =
       ans =                                      1 -5 7 -7
       1 -4 6 -7                                 s ig n : h a ø m d a á u v ô ù i g ia ù
      floor: laøm troøn veà aâm voâ cuøng t r ò ñ ô n v ò
      >> a=[1.25,-4.54,6.5,-7.1];                  >> a=[1.25,-4.54,6.5,-7.1];
      >> floor(a)                                  >> sign(a)
       ans =                                       ans =
       1 -5 6 -8                                  1 -1 1 -1
                                                 sort: saép xeáp töø nhoû ñeán lôùn
      ceil: laøm troøn veà döông voâ cuøng >> a=[1.25,-4.54,6.5,-7.1];
     >> a=[1.25,-4.54,6.5,-7.1];                   >> sort(a)
      >> ceil(a)                                   ans =
       ans =                                      -7.1000 -4.5400 1.2500 6.5000
       2 -4 7 -7
M A TL A B C A Ê N B A Û N
II. M A T R A Ä N V A Ø V E C T Ô “            [ …; …; …] ”
       >> A = [ 1, 2, 3; 4, 5, 6; 7, 8, 10]
          A =
               123
               456
               7 8 10
       >> A(3,3) = 17
          A=                                   “;” coù nghóa laø chuyeån sang haøng
               123                            keá tieáp.
               456                             “,” hay “ “ phaân caùch giöõa caùc
               7 8 17                         phaàn töû.
       >> vec = [10; 0; 1000]
          vec =
             10
             0
             1000
       >> A’
          ans =
               147
               258
               3           6 17
M A TL A B C A Ê N B A Û N
>> t = 1:5
t=
12345
>> row = A(1,:)
row =
123                       “:” coù nghóa laø taát caû.
>> col = A(:,1)           “:” töø giaù trò naøy tôùi giaù trò khaùc.
col =                     “:” töø giaù trò naøy tôùi giaù trò khaùc böôùc bao
1                        nhieâu.
4
7
>> 1:0.3:2
ans =
1 1.3000 1.6000 1.9000
>> tt = t(:)
tt =
1
2
3
4
5
M A TL A B C A Ê N B A Û N
 Ma traän phöùc.
                              >> imag(b)
>> b = [4; 5-15*i; -5;2+i];   ans =
>> abs(b)                         0
  ans =                         -15
  4.0000                          0
  15.8114                         1
   5.0000                     >> angle(b)
   2.2361                     ans =
>> conj(b)                          0
ans =                           -1.2490
  4.0000                         3.1416
  5.0000 +15.0000i               0.4636
 -5.0000                      >> atan2(imag(b),real(b))
  2.0000 - 1.0000i            ans =
>> real(b)                          0
ans =                           -1.2490
    4                            3.1416
    5                            0.4636
   -5
    2
M A TL A B C A Ê N B A Û N
 Haøm taïo ma traän ñaëc bieät.>> A =z e r o s ( 3 )                  >> C =o n e s ( 3 )
                                   A =
    zeros(n)                                                          C =
                                        0       0       0
    zeros(m,n)                         0       0       0
                                                                           1      1       1
                                                                           1      1       1
    zeros([m n])                       0       0       0
                                                                           1      1       1
    zeros(size(A))                >> B =z e r o s ( 2 , 3 )
                                                                       >> D =e y e ( 3 )
                                   B =
    ones(n)                            0       0       0
                                                                       D =
    ones(m,n)                          0       0       0
                                                                           1      0        0
                                                                           0       1       0
    ones([m n])                   >> s i z e ( A )
                                                                           0       0        1
                                   a ns =
    ones(size(A))                                                     >> e y e ( 3 , 2 )
                                        3       3
    eye(n)                        >> z e r o s ( s i z e ( B ) )
                                                                       a ns =
                                                                           1      0
    eye(m,n)                      a ns =
                                                                           0       1
    eye(size(A))                       0       0       0
                                                                           0       0
                                        0       0       0
    pascal                        >> n u m e l ( B )
                                                                       >> p a s c a l ( 3 )
    magic                                                             a ns =
                                   a ns =
                                                                           1      1       1
    numel(A)                           6
                                                                           1      2        3
                                   >> l e n g t h ( B )
    length(A)                     a ns =
                                                                           1      3        6
    rand(m,n)                          3
                                                                       >> m a g i c ( 3 )
                                                                       a ns =
    diag(v,k), diag(v)            >> r a n d ( 3 , 2 )
                                                                           8       1       6
    tril, triu                    a ns =
                                                                           3       5        7
                                      0 .9 5 0 1         0 .4 8 6 0
    linspace(a,b), linspace(a,b,n) 0 . 2 3 11 0 . 8 9 13                  4       9        2
    logspace(a,b,n)                  0 .6 0 6 8          0 .7 6 2 1
M A TL A B C A Ê N B A Û N
>> d i a g ( [ 2 1 2 ] , 1)
a ns =
     0          2     0       0
     0          0     1      0
     0          0     0       2
     0          0     0       0
>> d i a g ( A )
a ns =
     1
     5
     9
>> t r i u ( A )                      >> A =[ 1   2 3 ;4 5 6 ;7 8 9 ]
a ns =                                A =
     1        2      3
     0          5     6                   1       2    3
     0          0     9                   4        5    6
>> t r i l ( A )                          7       8    9
a ns =
     1        0      0
     4          5     0
     7         8     9
>> l i n s p a c e ( 1, 2 , 4 )
a ns =
    1. 0 0 0 0        1. 3 3 3 3
1. 6 6 6 7        2 .0 0 0 0
>> l o g s p a c e ( 1, 2 , 4 )
a ns =
   10 . 0 0 0 0        2 1. 5 4 4 3
4 6 . 4 15 9 10 0 . 0 0 0 0
M A TL A B C A Ê N B A Û N

I . C A ÙC P HE ÙP T OÙA N T R E Â N M A T R A Ä N V A Ø V E C T
     P he ùp                 C h u ù t h íc h
        t ín h
       +, -      C o ä ng ho a ë c trö ø ha i
                    m a t r a ä n c u ø n g k íc h
      A *B       N hta â n ù c i m a t r a ä n A
                      höô ha

      A /B       C hv a ø a i m a t r a ä n ( c h i a
                     ia h B
      A B       C hp a a r a )ù A hvaai ømB t r a ä n
                     i h tûi i              a
      A . *B     N hB â n ø öA n g p h a à n t ö û
                     a va t ø
                    c uûa ha i ma tra ä n A
      A . /B     C hv a ø öB n g p h a à n t ö û
                     ia t ø
                    c uûa ha i ma tra ä n A
      A .B      C hv a ø öB n g p h a à n t ö û
                     ia t ø
                    c uûa ha i ma tra ä n B
        .^       M uvõ ø h o t ö ø n g p h a à n
                      a c A
                    tö û c uû a m a û ng
M A TL A B C A Ê N B A Û N

>> A =[ 1 2 3 ; 4 5 6 ; 7 8 9 ] D =[ A C ]
                            >>
A =                         D =
    1       2      3             1       2   3    -4     2       3
    4        5     6             4         5 10      1   2      1
    7       8      9             7        8   9     2    5       6
>> A ( 2 , 3 ) =10          >> D ( 5 )
A =                         a ns =
    1       2      3             5
    4        5    10        >> D ( 4 , 5 )
    7       8      9        ? ? ? In d e x e x c e e d s m a t r ix d im e n s io n s .
>> B =A ( 2 , 1)            >> X =D
B =                         X =
    4                            1       2   3    -4     2       3
>> C =[ -4 2 3 ; 1 2 1; 2 5 6 ] 4          5 10      1   2      1
C =                              7        8   9     2    5       6
   -4        2      3       >> X ( 2 , 6 )
    1       2      1        a ns =
    2        5     6             1
                            >> X ( 2 , : )
                            a ns =
                                 4         5 10      1   2       1
X =
            1           2        M A TL A B C A Ê N B A Û N
                                  3
      -4            2        3
            4           5        10
                                           >> X ( : , e n d )
      1         2        1
                                           a ns =
            7           8         9            3
      2         5            6                 1
                                               6
                                           >> E =X ( [ 2 3 ] , [ 1 3 ] )
                                           E =
> X ( : , 1)                                   4        10
ns =                                           7         9
   1                                       >> X ( 2 , e n d )
   4                                       a ns =
   7                                           1.
> 1: 5                                     >> X ( 3 , : ) =[ ]
ns =                                       X =
   1         2   3     4     5                 1        2      3    -4     2   3
> 3 0 : - 4 : 15                               4          5    10      1   2   1
ns =                                       >> X ( : , 5 ) =[ 3 4 ]
  30          26    22    18               X =
> X ( 2 :3 , :)                                1        2      3    -4     3   3
ns =                                           4          5    10      1   4   1
   4          5  10     1    2         1   >> X ( 2 , : )
   7         8    9    2     5         6   a ns =
                                               4          5    10      1   2   1
M A TL A B C A Ê N B A Û N


>> C ( 4 , : ) =[ 8   4 6]
C =
   -4         2        3
    1        2        1
    2         5        6
    8         4        6
>> C ( : , 4 ) =[ 8   4 6 1] ’
C =
   -4         2        3        8                                       C =
    1        2        1       4
    2         5        6        6                                         -4     2     3
    8         4        6        1                                          1    2     1
>> C =[ C o n e       s ( 4 ) ;z e r o s ( 4 ) e ye ( 4 ) ]                2     5     6
C =
   -4         2        3         8       1       1       1       1
    1        2        1      4       1       1       1       1
    2         5        6         6    1       1       1        1
    8         4        6         1   1       1       1        1
    0         0        0         0    1       0        0           0
    0         0        0         0    0        1       0           0       Ma traän phöùc.
    0         0        0         0    0        0        1          0
    0         0        0         0    0        0        0           1
M A TL A B C A Ê N B A Û N
 Haøm xöû lyù ma traän vaø vectô (size, median, max, min, mean, sum,
length,…)


       >> s i z e ( C )
           a ns =
             3       3                          C =
      >> m e a n ( B )                             -4    2    3
           a ns =                                   1   2    1
           2 .6 6 6 7
                                                    2    5    6
       >> s u m ( B )
           a ns =                               B =
               16                                   1   5    6
       >> m i n ( C )                           -5    7    2
           a ns =
        -4       2       1
       >> s o r t ( C )
           a ns =
        -4       2       1
         1      2       3
         2      5       6
M A TL A B C A Ê N B A Û N
• II. G ia û i h e ä p h ö ô n g t r ìn h t u y e á n t ín h v a ø p h i t u y e á n
b a è n g h a ø m t h ö v ie ä n M a t la b : s o lv e
         1. Heä ñaïi soá tuyeán tính A*x=b

     >>clear all
     >>clc
     >>A=[1 3 6;2 7 8;0 3 9];
     >>b=[10;9;8];
     >>x=inv(A)*b      %(x=Ab)                            x1 + 3 x 2 + 6 x3 = 10
      x=                                                   2 x1 + 7 x 2 + 8 x3 = 9
        7.8571
       -3.1905                                             0 x1 + 3 x 2 + 9 x3 = 8
        1.9524

       2. Heä ñaïi soá tuyeán tính A*x=b , solve
    >>S=solve('x+3*y+6*z=10','2*x+7*y+8*z=9','3*y+9*z=8')
    S=
      x: [1x1 sym]
      y: [1x1 sym]
      z: [1x1 sym]
    >> eval([S.x S.y S.z])
    ans =
      7.8571 -3.1905 1.9524
M A TL A B C A Ê N B A Û N
 3. Heä ñaïi soá tuyeán tính A*x=b, LU
 decomposition
>> c l e a r a l l
>> c l c
>> [ L , U ] =l u ( A )
L =
   0 .5 0 0 0         - 0 . 16 6 7      1. 0 0 0 0
   1. 0 0 0 0                0          0
         0       1. 0 0 0 0             0             x1 + 3 x 2 + 6 x3 = 10
U =
   2 .0 0 0 0           7 .0 0 0 0       8 .0 0 0 0   2 x1 + 7 x 2 + 8 x3 = 9
         0       3 .0 0 0 0         9 .0 0 0 0
                                                      0 x1 + 3 x 2 + 9 x3 = 8
         0              0      3 .5 0 0 0
>> x =U  ( L  b )
x =
   7 .8 5 7 1
  -3 . 19 0 5
   1. 9 5 2 4
>> x =i n v ( U ) * i n v ( L ) * b
x =
   7 .8 5 7 1
  -3 . 19 0 5
   1. 9 5 2 4
M A TL A B C A Ê N B A Û N

C A Ù C P H E Ù P TO Ù A N TR E ÂN Ñ A TH Ö Ù C
      T ín h g ia ù t r ò ñ a t h ö ù c


             > pol=[1,2,3,4]
             pol =
             1234
             > polyval(pol,-1)
             ans =
             2
        T ìm n g h ie ä m ñ a t h ö ù c

            > pol=[1,2,3,4]
            pol =
            1234
            > roots(pol)
            ans =
            -1.6506+ 0.0000j
            -0.1747+ 1.5469j
            -0.1747- 1.5469j
M A TL A B C A Ê N B A Û N

 Nh a â n v a ø c h ia ñ a t h ö ù c

      Cho hai ña thöùc:             f1 = s 2 + 7 s + 12      f2 = s2 + 9
      Haõy tính f 3 = f 1 * f 2
       > f1=[1 7 12];
       > f2=[1 0 9];                                  f3 = s 4 + 7 s 3 + 21s 2 + 63s + 108
       f3=conv(f1,f2)
       f3= 1 7 21 63 108
      Cho hai ña thöùc:            f 4 = s 4 + 9s 3 + 37 s 2 + 81s + 52        f5 = s 2 + 4 s + 13
      Haõy tính          f6 = f 4 / f5
            > f4=[1 9 37 81 52];
            > f5=[1 4 13];                                          f 6 = s 2 + 5s + 4
            [f6 r]=deconv(f4,f5)
            f6= 1 5 4
            r= 0 0 0 0 0
 r laø phaàn dö cuûa pheùp chia
M A TL A B C A Ê N B A Û N
 T ín h ñ a ï o h a ø m ñ a t h ö ù c : p o l y d e r (p )

            >> p=[2 0 9 1];
            >> polyder(p);
         a ns =
         6   0 9
         Phaân raõ ña
 Phaân r aõ ña t höùc
                                             2s3 + 9s + 1
         thöùc:                     F (s) = 3 2
                                           s + s + 4s + 4
            > a=[2 0 9 1];
            > b=[1 1 4 4];
            > [r,p,k]=residue(a,b)                     [b ,a ]=r e s id u e (r ,p ,k )
M A TL A B C A Ê N B A Û N




                                                                         Bieåu thöùc phaân raõ ?




 P h ö ô n g p h a ù p b ìn h p h ö ô n g t o á i t h ie å u t r o n g x ö û l y ù s o á l ie ä u t h ö ï c n g h ie ä m

                    > x=[1 3 10];
                    > y=[10 18 37];
                    > polyfit(x,y,1)                                         y = 2.92537 x + 8.01493
                    ans =
                    2.92537 8.01493
M A TL A B C A Ê N B A Û N
                                                             1

8 . Noä i s uy
                                                            0.8
                                                            0.6
   No ä i s u y d ö õ l ie ä u mo ä t c h ie à u :
                                                            0.4
  in t e r p 1 (x ,y ,x i)
       > x= 0 : 10 ;                                        0.2

       > y = sin(x);                                         0

       > xi= 0 : .5 : 10;
                                                            -0.2
                                                            -0.4
       > yi= interp1(x,y,xi);                               -0.6
                                                            -0.8
                                                             -1
                                                              0    1      2   3   4   5   6   7   8   9   10
   No ä i s u y d ö õ l ie ä u mo ä t c h ie à u ñ a t h ö ù c b a ä c
  b a : s p l in e (x ,y ,x i)
        > x= 0 : 10 ;                                        1

        > y = sin(x);
                                                            0.8

        > xi= 0 : .5 : 10;
                                                            0.6
                                                            0.4
        > yi= spline(x,y,xi);                               0.2
                                                             0
                                                            -0.2
                                                            -0.4
                                                            -0.6
                                                            -0.8
                                                             -1
                                                              0    1      2   3   4   5   6   7   8   9   10
M A TL A B C A Ê N B A Û N
 No ä i s u y d ö õ l ie ä u h a i c h ie à u :
in t e r p 2 (x ,y ,z ,x i,y i)


                                  > [x,y]= messhgrid(-3 : .25 : 3) ;
                                  > z = peaks(x,y);
                                  > [xi, yi]= messhgrid(-3 : .125 : 3) ;
                                  > zi= interp2(x,y,z,xi,yi)
                                  > hold on
                                  > mesh(x,y,z), mesh(xi,yi,zi)
M A TL A B C A Ê N B A Û N
9 . G ia û i p h ö ô n g t r ìn h , h e ä p h ö ô n g t r ìn h v i
p ha â n thö ô ø ng

       Ha ø m : d s o l v e (e q 1 ,e q 2 ,… o n d 1 ,c o n d 2 ,… )
                                             ,c                    ,v


                     Ví d uï                          Ke á t qua û
         dsolve('Dy = a*y')                 exp(a*t)*C1
         dsolve('Df = f + sin(t)')      -1/2*cos(t)-1/2*sin(t)+exp(t)*C1
         dsolve('(Dy)^2 + y^2 =
                                        -sin(-s+C1)
            1','s')
         dsolve('Dy = a*y', 'y(0) = b') exp(a*t)*b
         dsolve('D2y = -a^2*y',…            cos(a*t)
          'y(0) = 1', 'Dy(pi/a) = 0')
                                            x = cos(t)*C1+sin(t)*C2
         dsolve('Dx = y', 'Dy = -x')
                                            y = -sin(t)*C1+cos(t)*C2
M A TL A B C A Ê N B A Û N
   Ha ø m : d s o l v e (e q 1 ,e q 2 ,… o n d 1 ,c o n d 2 ,… )
                                         ,c                    ,v
      Ví du: giaûi phöông trình vi phaân
      caáp hai                                    && + 81y = 16 cos ( 7t )
                                                  y
     Vôùi ñieàu kieän
     ñaàu              y ( 0 ) = 0, y ' ( 0 ) = 0
       >y= dsolve(‘D2y+81*y=16*cos(7*t)’,’y(0)=0’,’Dy(0)=0’,’t’) ;
       > t = linspace(0,2*pi,400);
                                    1
       >y= subs(y,t) ;
       > plot(t,y)                 0.8

                                        0.6

                                        0.4

                                        0.2

                                         0

                                       -0.2

                                       -0.4

                                       -0.6

                                       -0.8

                                        -1
                                          2    2.5   3    3.5       4   4.5   5   5.5   6   6.5
M A TL A B C A Ê N B A Û N
   Ha ø m : d s o l v e (e q 1 ,e q 2 ,… o n d 1 ,c o n d 2 ,… )
                                         ,c                    ,v
    Vôùi solver töông öùng vôùi ode45, ode32, ode113, ode15s, ode23s, ode23t,
    ode23tb
       C uù          [T,Y] = solver(odefun,tspan,y0)
       pha ùp
                                                                         y = f ( , y)
                    o d e f u n laø haøm beân veá phaûi cuûa phöông ttrình
                                                                                       '


       C huù       t s p a n laø khoaûng laáy tích phaân [t0 tf] ñeå coù
       t h íc h    ñöôïc nghieäm taïi nhöõng thôøi ñieåm xaùc ñònh.
                   tspan = [t0,t1,...,tf].
      Ví du: giaûi phöông trình vi ñieàu kieän ñaàu.
                   y 0 laø vector phaân
      thöôøng                               y ' ( t ) + y ( t ) = 1 vôùi y ( 0 ) = 0
                                               0.9

          > f=inline(‘1-y’,’t’,’y’)            0.8

          > [t, y]= ode45(f, [0 2],0) ;        0.7

          > plot(t,y) ;                        0.6
                                               0.5
                                               0.4
                                               0.3
                                               0.2
                                               0.1
                                                00   0.2   0.4   0.6   0.8   1   1.2       1.4   1.6   1.8   2
M A TL A B C A Ê N B A Û N
   Ha ø m : d s o l v e (e q 1 ,e q 2 ,… o n d 1 ,c o n d 2 ,… )
                                         ,c                    ,v
      Ví du: giaûi phöông trình vi phaân
      caáp hai                             && ( t ) + By ( t ) + Ω 2 y ( t ) = A0 sin ( ω t )
                                           y           &
    Ñöa phöông trình vi phaân caáp hai veà heä hai phöông trình vi phaân
    caáp moät
                       y1 = y2
                        &
          
          &y2 = A0 sin ( ωt ) − By2 − Ω 2 y1

    > y0=[1 0];
    > tspan=[0 3.5];
    > B=2.5; OME=150; ome=122; A0=1000;
    > [t,y]=ode45(‘f’,tspan,y0,[],B,OME,A0,ome)
    > subplot(2,1,1), plot(t,y(:,1))
    > subplot(2,1,2), plot(t,y(:,2))
    > %%%%%%%%%%%%%%%%%%%%%
    > function dy=f(t,y,flag,B,OME,A0,ome)
    > dy= zeros(2,1) ;
    > dy(1)=y(2);
    > dy(2)=-B*y(2)-OME*y(1)+A0*sin(ome*t) ;
M A TL A B C A Ê N B A Û N
8 . L a ä p t r ìn h v ô ù i
Matlab l a bpheùp laäp trình theo hai hình thöùc: SCRIPTS vaø
M a t cho
function

              Laø hình thöùc ñôn giaûn nhaát cuûa M-file, noù
              khoâng coù thoâng soá vaøo vaø ra. Laø taäp hôïp
              caùc leänh vaø haøm cuûa Matlab. Taát caû caùc
              bieán taïo ra trong Scripts ñeàu coù theå söû duïng
Scripts       sau khi Scripts keát thuùc.
              -----------------------------------------------------------------
                 M-file: vidu.m
                 x= 0:0.01:2*pi;
                 y=sin(x);
                 plot(x,y);
              Laø Scripts tuy nhieân coù theâm ñoái soá vaøo
              (input arguments) vaø ñoái soá ñaàu ra (output
              argument). Taát caû caùc bieán hoaït ñoäng trong
function      moät Workspace rieâng. Bieán trong function chæ
              laø bieán cuïc boä.
              -----------------------------------------------------------------
                M-file: doido.m
                function rad = doido(do)
M A TL A B C A Ê N B A Û N
 8 . L a ä p t r ìn h v ô ù i
 M a t la b



 Hình thöùc khai baùo
 haøm



- Töø khoaù function baét buoäc phaûi khai baùo.
- Thoâng soá ñaàu ra: neáu coù nhieàu giaù trò traû veà, caùc thoâng soá
naøy ñöôïc ñaët trong daáu “[ ]”. Neáu khoâng coù giaù trò traû veà ta coù
theå ñeå troáng hay ñeå daáu [].
- Teân haøm
-Thoâng soá ñaàu vaøo ñöôïc khai baùo trong daáu ()
- Bieán toaøn cuïc vaø ñòa phöông
M A TL A B C A Ê N B A Û N
8 . C a á u truùc
ñ i Caáuk i e äñieàu
   e à u truùc n                     Toaùn   YÙ nghóa
  kieän: if                           töû
                                       <     Nhoû hôn
                                      <=     Nhoû hôn hoaëc
                                       >     baèng
                                             Lôùn hôn
   if    (bieåu thöùc logic)
              nhoùm leänh             >=     Lôùn hôn hoaëc
   end                                ==     baèng nhau
                                             Baèng
                                      ~=     Khoâng baèng




  if     (bieåu thöùc logic)
              nhoùm leänh 1
  else
              nhoùm leänh 2
  end
M A TL A B C A Ê N B A Û N
 8 . C a á u truùc
ñ i e à truùc i e ä n
  Caáu u k ñieàu kieän:
if…end




 if   (bieåu thöùc logic)
           nhoùm leänh 1
 elseif
           nhoùm leänh 2
                               B a ø i ta ä p
 else
           nhoùm leänh 3 -b ) /n v a ø x i = a +i * h t í n h t í c h p h a â n c u û a
                     h =( a
 end                 h a ø m f =c o s ( x ) +s i n ( x ) c h o a =0 , b =p i /3
                                   Giaûi thuaät
M A TL A B C A Ê N B A Û N
                                                        V í d u ï: t a ïo m o ä t m e n u lö
    8 . C a á u truùc                                   c h o ïn
    ñeCaáu truùc ä n kieän: switch …
      i à u k i e ñieàu                                  f p r in t f ( '  n ' ) ;
     case                                                f p r in t f ( ' S e le c t a c a s e :  n ' ) ;
                                                         f p r i n t f ( ' ============== n ' ) ;
                switch     (bieåu thöùc ñieàu kieän)     f p r in t f ( ' 1 - p i n ' ) ;
                                                         f p r in t f ( ' 2 - e  n ' ) ;
                case        (giaù trò 1 bieåu thöùc)     f p r in t f ( ' 3 - i  n ' ) ;
                          nhoùm leänh 1                  f p r i n t f ( ' ============== n ' ) ;
                 otherwise                               n = in p u t ( ' ' ) ;
                                                         s w it c h n
                          nhoùm leänh 2                  c ase 1
                end                                      d is p ( ' P i = ' ) ; d is p ( p i) ;
                                                         c ase 2
Ví duï: taïo moät menu löïa choïn                        d i s p ( ' e = ' ) ; d i s p ( e x p ( 1) ) ;
       chon = input(‘Nhap vao lua chon cua ban, chon=
                                                         c ase 3
       ’)                                                d is p ( ' i = ' ) ; d is p ( i) ;
       Switch chon                                       o t h e r w is e
       case 1                                            d is p ( ' N o t h in g t o d is p la y ' ) ;
                                                         e nd
                disp(‘menu ve do thi ’);                       S e le c t a c a s e :
       case 2                                                  ==============
                disp(‘menu noi suy da thuc ’);                  1 - pi
                                                                2 - e
       otherwise                                                3 - i
                                                               ==============
                 disp(‘thoat khoi chuong trinh ’);             1
       end                                                     Pi =
                                                                  3 . 14 16
M A TL A B C A Ê N B A Û N
   8 . C a á u t r u ù c la ë p c o ù
   ñ i e Caáu k i e ä n coù ñieàu kieän:
      à u truùc laëp
     while
                      while   (bieåu thöùc ñieàu kieän)
                                nhoùm leänh
                      end

         Ví duï: yeâu caàu nhaäp vaøo giaù trò cho
         bieán x. vieäc nhaäp chæ keát thuùc khi x
         coù giaù döông

                 a= input(‘Nhap vao gia tri a: ’)
                 while a<=0
                   disp(‘a lon hon khong ’);
                   a= input(‘Nhap vao gia tri a: ’)
                 end

B a ø i ta ä p
          Tính toång cuûa chuoãi:
M A TL A B C A Ê N B A Û N
      9 . C a á u t r u ù c la ë p
          Caáu truùc laëp:
         for

                          for   bieán = bieåu thöùc
                                    nhoùm leänh
                         end
   Ví duï: vieát chöông trình nhaäp vaøo möôøi giaù trò cho
   bieán A
             for i = 1 : 10
                tb=strcat(‘Nhap gia tri cho A(’,num2str(i),’) = ’);
                A(i)= input(‘’)
             end
             A
B a ø i ta ä p
 h g ia ù t r ò t r u n g b ìn h v a ø ñ o ä le ä c h c h u a å n c u û a d ö õ lie ä u c h ö ù a
x n ] ñ ö ô ïc ñ ò n h n g h ó a t h e o c o â n g t h ö ù c s a u
P HÖÔNG T R Ì NH V I P HA Â N
       T HÖÔØNG
NOÄ I
   DUNG:
Baøi toaùn giaù trò
ñaàu :
              V í d u ï ñ ò n h lu a ä t 2
             N e w to n
              P h ö ô n g p h a ù p E u le r
              P h ö ô n g p h a ù p ñ ie å m
             g iö õ a
             P höông pha ùp            Rung e -
Baøi toaùn giaù trò
            K utta
bieân :      P h ö ô n g t r ìn h v i p h a â n
             c aáp 2 :
              P h ö ô n g t r ìn h v i p h a â n
             c aáp 4
Ví duï ñònh l uaät
      2 Ne wt o n
1. 1 V í d u ï ñ ò n h l u a ä t 2 N e w t o n :
                                                 
                                             F = ma
           Gia toác laø ñaïo haøm baäc 1 cuûa vaän toác theo thôøi gian, do
   ñoù :                                        
                                              dv 
                                                   =a
                     vaø                      dt
                                                   
                                             dv F
                                                  =
                                             dt m
     M in h h o ïa :
                Ñònh luaät 2 Newton cho moät vaät
           noùng boû vaøo trong moâi tröôøng chaát
           loûng. Söï thay ñoåi nhieät ñoä theo thôøi gian
           cuûa vaät ñöôïc moâ taû bôûi phöông trình vi                       Ts
           phaân caân baèng naêng löôïng.
                                dT
                           mc      = −Q
                                dt
Ví duï ñònh l uaät
     2 Ne wt o n
ù i n h ie ä t n a ê n g d o la ø m la ïn h :
                                        Q = hA(Ts − T∞ )
û v a ä t l i e ä u c o ù t í n h c a ù c h n h i e ä t c a o : => T s   =T

                             dT                                  dT    hA
                        mc      = −hA(T − T∞ ) h o a ë c            =−    (T − T∞ )
                             dt                                  dt    mc

      V í d u ï 1:
                         dy
                            = −y             y (0) = y 0
                         dt
g t r ìn h n a ø y c o ù t h e å t íc h p h a â n t r ö ïc t ie á p :

                       dy                               y
                          = −dt                   ln      = −t
                                                       C2
                        y

                      ln y = -t + C              y = C2e-t
                      ln y –lnC2 = -t            y = y0e­-t
Ví duï ñònh l uaät
    2 Ne wt o n
        T íc h p h a â n s o á c u û a c a ù c p h ö ô n g
 t r ìn h v i p h a â n

      C ho :                        dy
                                       = f (t , y );                 y (0) = y0
                                    dt
á t q u a û c h ín h x a ù c t a ïi g ia ù t r ò t b a á t k ì :
                                         t j = t 0 + jh
la ø b ö ô ù c t h ô ø i g ia n .
           G o ïi:
                                                    y
           y( t ) = k e á t
      q u a û c h ín h x a ù c                                                           Keát quaû soá taïi t3
                                                    f ( t0,y0) = ñoä doác ñoà thò taïi
                                                    (t0,y0)
           y( tj ) = k e á t q u a û
      c h ín h x a ù c t a ïi t j

           yj = k e á t q u a û g a à n                                                  Keát quaû chính xaùc y(t)
      ñ u ù n g t a ïi t j                     y0

           f( tj , yj ) = k e á t q u a û                                                                  t
      g a à n ñuùng c uûa ha øm
      v e à p h ía p h a û i t a ïi t
Phöông phaùp
 Eul e r
      C h o h = t 1 – t 0 v a ø ñ ie à u k ie ä n
 b a n ñ a à u , y = y ( t 0 ) , t ín h :

                                   y1 = y 0 + hf (t 0 , y 0 )
                                   y 2 = y1 + hf (t1 , y1 )
                                    ...
                                   y j +1 = y j + hf (t j , y j )
     Hoaëc
                y j = y j −1 + hf (t j −1 , y j −1 )
     V í d u ï 2 : S ö û d u ïn g p h ö ô n g p h a ù p
E u le r ñ e å t ín h

                             dy
                                = t − 2y              y(0) = 1
        Ke á t qua û
                             dt
   c h ín h x a ù c la ø :
                                                                1
                     y j = y j −1 + hf (t j −1 , y j −1 )    y = [2t − 1 + 5e −2t ]
                                                                4
Phöông phaùp
  Eul e r
                  f (t j −1 , y j −1 )               Euler                 C.xaùc      Sai soá
     j    tj                                    yj=yj+hf(tj-1,yj-1)         y(tj)      yj-y(tj)

    0    0.0             NaN             (Ñk ban ñaàu) 1.000                   1.000       0
    1    0.2     0-(2)(1) = - 2.000      1.0 + (0.2)(-2.0) = 0.60              0.688    -0.0879
    2    0.4   0.2 – (2)(0.6) = -1.000   0.6 + (0.2)(-1.0) = 0.40              0.512    -0.1117
    3    0.6    0.4 – (2)(0.4) = -0.4    0.4 + (0.2)(- 0.4) = 0.32             0.427    -0.1065

    S o s a ùnh vô ùi                                              Ñ o á i vô ùi h ña õ
ño à thò :                                                   b ie á t , s a i s o á lô ù n
                                                             nha á t tro ng k e á t
                                                             q u a û s o á ñ o ù la ø
                                                             s a i s o á r ô ø i r a ïc
                                                             t o a ø n c u ïc
                                                                   max (∑ ( y j − y (t j )) )
                                                                           j
Phöông phaùp
Eul e r
     Ñ a ù n h g i a ù
s ai s oá :
       S a i s oá ñòa phöông                t a ïi
  m o ã i b ö ô ù c la ø :
                                ej = yj – y(tj)
     v ô ù i y ( t j) la ø k e á t q u a û c h ín h x a ù c t a ïi
tj

                                            G D E = ma x( e j )
        j = 1, …
                                           G ia û i b a è n g M a t la b :
        h            max(ej )
                                                  function [t,y] = odeEuler(diffeq,tn,h,y0)]
      0.200           0.1117
      0.100           0.0502                      t = (0:h:tn)’;
      0.050           0.0240                      n = length(t);
      0.025           0.0117                      y = y0 + ones(n , 1);
                                                  for j = 2 : n
                                                  y(j) = y(j – 1) + h* feval(diffeq,t(j -1),y(j-1));
                                                  end
 >> rhs = inline(‘cos(t)’,’t’,’y’) ;
 >> [t,Y] = odeEuler(rhs,2*pi,0.01, 0) ;
 >> plot(t,Y,’o’) ;
Phöông phaùp
    ñ ie å m g iö õ a
    Taêng möùc ñoä chính xaùc baèng caùch tính ñoä nghieâng 2 laàn trong moãi
böôùc cuûa h:
                              k1 = f (t j , y j )
      Tính moät giaù trò cuûa y taïi
  ñieåm giöõa :
                                                      f (t j , y j )
                                                    h
                              y j +1 / 2 = y j +
                                                    2
       Ñaùnh giaù laïi ñoä
  nghieâng
                                             h       h
                               k 2 = f (t j + , y j + k1 )
                                             2       2
      Tính giaù trò cuoái cuøng cuûa y
                               y j +1 = y j + hk 2
Phöông phaùp
         ñ ie å m g iö õ a

                                  yj töø phöông phaùp
                                  Euler

                       ñaùnh giaù ñoä
                       doác taïi
                          t   +0.5h
                           j -1
                                                                       keát quaû chính xaùc   j -1
y
         +0.5hk1                                                       taïi y
    j
    -1

                                                                       y töø phöông phaùp ñieåm
            y                                                           j
                j -1                                                   giöõa
                                         0.5h           0.5h

                              t                                t
                                  j -1                             j



                                                                                     G ia û i b a è n g M a t la b :
                                                                                     function [t,y] = odeMidpt(diffeq,tn,h,y0)]
                                                                                           t = (0:h:tn)’;
         >> rhs = inline(‘cos(t)’,’t’,’y’) ;                                               n = length(t) ;
         >> [t,Y] = odeEuler(rhs,2*pi,0.01, 0) ;                                           y = y0 + ones(n , 1) ;
         >> plot(t,Y,’o’) ;                                                                h2= h /2 ;
                                                                                           for j = 2 : n
                                                                                               k1 = feval(diffeq,t(j -1),y(j-1)) ;
                                                                                               k2 = feval(diffeq,t(j -1)+h2,y(j-1)+h2*k1) ;
                                                                                                           y(j) = y(j – 1) + h* k2 ;
                                                                                           end
Phöông phaùp
 ñ ie å m g iö õ a
     So saùnh phöông phaùp Midpoint vôùi phöông phaùp
Euler

    Giaûi:
               dy
                  = −y             y(0) = 1      0≤ ≤
                                                   t 1
               dt
     Keát quaû chính xaùc laø :
y = e-t


       h        flopeE     errE         flopeH     errH
    0.20000       31     4.02e-02          57    2.86e-03
    0.10000       61     1.92e-02         112    6.62e-04
    0.05000      121     9.39e-03         222    1.59e-04
    0.02500      241     4.66e-03         442    3.90e-05
    0.01250      481     2.31e-03         882    9.67e-06
    0.00625      961     1.15e-03        1762    2.41e-06
Phöông phaùp
            Ru n g e - Ku t t a
4 vò trí öùng vôùi moãi böôùc laëp:

                                 k1 = f (t j , y j )
                                               h       h
                                 k 2 = f (t j + , y j + k1 )
                                               2       2
                                                  h        h
                                 k 3 = f (t j +     , y j + k2 )
                                                  2        2
                                 k 4 = f (t j + h, y j + hk 3 )
         Ta tính ñöôïc yj+1

                                                k   k   k   k 
                                y j +1 = y j + h 1 + 2 + 3 + 4 
                                                6    3   3   6
Phöông phaùp
           Ru n g e - Ku t t a
                                          G ia û i b a è n g M a t la b

  >> rhs = inline(‘cos(t)’,’t’,’y’) ;     function [t,y] = odeRK4(diffeq,tn,h,y0)]
  >> [t,Y] = odeRK4(rhs,2*pi,0.01, 0) ;   t = (0:h:tn)’;
  >> plot(t,Y,’o’) ;                      n = length(t) ;
a ø m t h ö v ie ä n M a t la b           y = y0 + ones(n , 1) ;
                                          h2= h /2 ; h3= h /3 ; h6= h /6 ;
   [t,Y] = ode45(diffep,tn,y0)            for j = 2 : n
  >> rhs = inline(‘cos(t)’,’t’,’y’) ;     k1 = feval(diffeq, t(j -1), y(j-1)) ;
  >> [t,Y] = ode45(rhs,[0 2*pi], 0) ;     k2 = feval(diffeq , t(j -1)+h2, y(j-1)+h2*k1 ) ;
  >> plot(t,Y,’r’,’linewidth’,2) ;        k3 = feval(diffeq , t(j -1)+h2, y(j-1)+h2*k2 ) ;
                                          k4 = feval(diffeq , t(j -1)+h , y(j-1)+h*k3) ;
                                          y(j) = y(j – 1) + h6* (k1+k4) + h3*(k2+k3);
                                          end
Phöông phaùp
       Ru n g e - Ku t t a
So saùnh E uler, M idpoint vaø R K 4:

                    Giaûi:            dy                            0 ≤ t ≤1
                                         = −y         y(0) = 1
                                      dt
       h      flope          errE   flopeM   errM   flope4       err4
                E

   0.20000    31     4.02e-0 57       2.86e-3 129            5.80e-6
   0.10000    61     2       112      6.62e-4 254            3.33e-7
   0.05000    121    1.92e-0 222      1.59e-4 504            2.00e-8
   0.02500    241    2       442      3.90e-5 1004           1.22e-9
   0.01250    481    9.39e-0 882      9.67e-6 2004           7.56e-11
   0.00625    961    3       1762     2.41e-6 4004           4.70e-12
                     4.66e-0
                     3
   S ö û d u ï n g 2.31e-0 c u û a M a t l a b :
                     ha øm
   Söû duïng ode45   3
   C uù phaùp :      1.15e-0
             [t,Y] = 3
                     ode45(diffep,tn,y0)
               [t,Y] = ode45(diffep,[t0 tn],y0)
               [t,Y] = ode45(diffep,[t0 tn],y0,options)
               [t,Y] = ode45(diffep,[t0 tn],y0,options,arg1,arg2,…)
Phöông phaùp
   Ru n g e - Ku t t a
Ví d u ï
                  dy                   y(0) = 0
                     = cos( t )
                  dt


 >> rhs = inline(‘cos(t)’,’t’,’y’) ;
 >> [t,Y] = ode45(rhs,[0 2*pi], 0) ;
 >> plot(t,Y,’o’) ;
B a ø i t o a ù n g ia ù t r ò b ie â n :
P h ö ô n g t r ìn h v i p h a â n c a á p 2 :
       ÖÙng duïng cho caùc baøi toaùn veà thanh , truyeàn nhieät ,vv…
Daïng : ay’’(x)+by’(x)+cy(x)=f(x)  0<x<1              (7.10)
Ñ ieàu kieän bieân :
        a/   y(x=0) = y0 *
             y(x= L) = y L *
        b/   y’(x=0) =        yo' *
             y(x= L) =        yL *
        c/    y(x=0) = y0 *

           y’(x=L) = y 'L *
  Xaáp xæ (7.10) baèng löôùi ñeàu sai phaân trung taâm∆x o=
                                                       :h
                  y i +1 − y i −1                                    1
         y i’ =                   + 0(h2)          vôùi O(h2) = -        h2fi’’’     ( 7 . 11)
                        2h                                           6
                  y i +1 − 2 f i + y i −1                            1
        yi’’ =                            +   0(h2) vôùi 0(h2) = -         h2fi’’’    (7.12)
                           h2                                       12
(7.10), (7.11) vaø(7.12) cho ta phöông trình sai phaân

                y − 2 y i + y i −1       y − y i −1 
             a  i +1                + b  i +1        + cyi = f ( x)   (7.13)
                     h2                       2h    

         (2a+ bh)yi+1+(2ch2 - 4a)yi + (2a - bh)yi-1 = 2h2f(x)             (7.14)


     i=1 => (2a + bh)y2 + (2ch2 - 4a)y1 + (2a - bh)yo = 2h2f(x)

     i=2 => (2a + bh)y3 + (2ch2 - 4a)y2 + (2a - bh)y1 = 2h2f(x)

     i=3 => (2a + bh)y4 + (2ch2 - 4a)y3 + (2a - bh)y2 = 2h2f(x)

     i=4 => (2a + bh)y5 + (2ch2 - 4a)y4 + (2a - bh)y3 = 2h2f(x)

    i=5 => (2a + bh)y6 + (2ch2 - 4a)y5 + (2a - bh)y4 = 2h2f(x)
Ñaët :
           A=2a + bh
           B=2ch2 - 4a
           C=2a – bh

Ñöa heä 5 phöông trình treân veà daïng ma traän :

a/         By1 +Ay2          =         2h2f(x)-Cy0*
           Cy1+By2+Ay3       =         2h2f(x)
           Cy2+By3+Ay4       =         2h2f(x)
           Cy3+By4+Ay5       =         2h2f(x)
           Cy4+By5           =         2h2f(x)-AyL*

Hay dạng ma trận :
         B A 0      0 0     y1    2h 2 f(x) - Cy 0 * 
         C B A                      2                 
                     0 0
                             y2     2h f(x)           
         0 C B      A 0     y3  = 2h 2 f(x)          
                                                     
                              y4    2h f(x)            
         0 0 C      B A                 2

                              y5     2                 
         0 0 0
                    C B          2h f(x) - Ay L *
                                                         
y2 = y0
b/      y'1 =
                   2h
                         = y' 0 * (Biết)       ⇒        y0=y2 -2hy0’*



           B A + C          0 0 0           y1        2hCy 0 '* + 2h 2 f(x)
           C B                                          2                   
                            A 0 0
                                             y2         2h f(x)             
                                              =
     (5) ⇒ 0  C             B A 0           y3        2h 2 f(x)            
                                                                             
           0  0             C B A           y4        2h f(x)
                                                              2                 
           0                                 y5         2                   
              0             0 C B
                                                       2h f(x) - Ay L * 
                                                                               


              y6 − y4
c/    y'5 =
                2h
                      = y L '*   ⇒    y 6 = y 4 + 2hyL '*


          B      A    0     0 0           y1        2h 2 f(x) - Cy 0 * 
          C                                           2                 
                 B    A     0 0
                                           y2         2h f(x)           
          0
          
                  C    B A     0
                                
                                            y3 
                                                  =   2h 2 f(x)
                                                        
                                                                            
                                                                            
          0      0    C B     A           y4        2h f(x)
                                                            2               
          0      0    0 A + C B           y5         2                 
                                                    2h f(x) - 2hAy L '*
                                                                           
• I. P h ö ô n g p h a ù p s o â :      C h ia ñ o â i k h o a û n g ,
   N e w t o n -R a p h s o n , D a â y c u n g
         1. C h i a ñ o â i k h o a û n g (Bisection Method)
(1) : a, b , tol
                                  Matlab code.
(2) : k = 1,2,..
                                  clear all
               a+b                clc
(3) : xm =                        a=3;b=4;tol=0.0001
                 2                for k=1:10
( 4) : f ( x m ) ≠ 0                  x=(a+b)/2;
                                      if sign(f(x))==sign(f(a))
(5) : f (a). f ( xm ) < 0                 a=x;
                                      else
( 6) : b = x m                            b=x;
                                      end
(7 ) : a = x m                        if abs(f(x)>tol)
                                          break
(8) : f ( xm ) ≤ tol                  end
            a+b                   end
(9) : xm =                        function gg=f(x)
             2                    gg=x-x.^(1/3)-2;
(10) : in x
2. Newton-Raphson                      clear all
                                        clc
(1) : x0 , tol                          format long
                                        x=10; tol=1e-10; itemax=20; itein=0;
( 2) : k = 1,2,...
                                        while abs(f(x))>tol
                       f ( x k −1 )         itein=itein+1;
(3) : x k = x k −1 −
                       f ' ( x k −1 )       if itein>itemax break
                                            end
( 4) : x k − x k −1 < tol                   Dx=-f(x)/df(x);
(5) : in x                                  sprintf ('itein = %d x= %20.10f f(x) =
                                        %20.10f Dx= %20.10fn',...
                                                    itein,x,f(x),Dx);
                                             x=x+Dx;
                                        end
                                        sprintf ('solution %20.10f, f(x)=… %20.10f
                                        n',x, f(x))
                                        %-------------------------------------
                                        function q=f(x)
                                        q=x-x.^1/3-2;
                                        function q=df(x)
                                        q=1-1/3*1/(x.^(2/3));
3. Daây cung (Secant Method):

                                                          clear all
(1) : x1 , x2 , tol.
                                                          clc
(2) : k = 2, 3, ...
                                                          syms x
                                      xk − xk −1
(3) : xk +1 = xk − f ( xk )                               format long
                                 f ( xk ) − f ( xk −1 )
                                                          x1=3;
(4) : f ( xk ) f ( xk −1 ) < 0                            x2=4;
(5) : xk −1 = xk +1                                       tol=1e-6
(6) : xk = xk +1                                          while abs(f(x2))>tol
(7) : f ( xk+1 ) ≤ tol                                        xk=x2-f(x2)*(x2-x1)/(f(x2)-f(x1));
(8) : I n x                                                   if f(x1)*f(x2)<0
                                                                 x2=xk;
                                                              else
                                                                 x1=xk;
                                                              end
                                                          end
                                                          nghiem=x2
                                                          %---------------------------------------
                                                          function g=f(x)
                                                          g=x-x^(1/3)-2;
K e á t Qu û a v a ø s o s a ù n h

1. C h i a ñ o â i                  1. D a â y c u n g
khoa ûng




                                     4 . Ñ o à t h ò f ( x ) =x -
                                     x ^ 1/3 - 2

1. N e w t o n -
Ra phs on
2. Phöông phaùp giaûi laëp heä phöông trình
  tuyeán tính
 a. Conjugate gradient method (CG):

x ( 0 ) = 0, r ( 0 ) = b − Ax ( 0 ) , p ( 0 ) = r ( 0 )          clear all
                                                                 clc
 for k = 1,2,3,…..                                               a=[2 4 7; 4 5 6; 7 6 1];

  α   (k )
             =
                  (r          ) (r )
                       ( k −1 ) T   ( k −1 )
                                                  Kích thöùôc
                                                                 b=[-1 2 5]';
                                                                 x=[0 0 0]';
                 (p          ) A (p )
                      ( k −1 ) T       ( k −1 )
                                                  böôùc          r=b-a*x;
  x ( k ) = x ( k − 1 ) + α ( k ) p ( k −1 )      Nghieäm xaáp   p=r;
                                                  xi             for i=1:10
 r ( k ) = r ( k −1 ) − α ( k ) A p ( k −1 )      Thaëng dö
                                                                     alpha=r'*r/(p'*a*p);

 β    (k )
             =
                 (r ) (r )(k ) T     (k )
                                                  Caûi tieán
                                                                     x=x+alpha*p;
               (r ) (r )
                       ( k −1 ) T    ( k −1 )                        r1=r;
                                                                     r1=r1-alpha*a*p;
                                                  Höôùng tìm         beta=r1'*r1/(r'*r);
  p ( k ) = r ( k ) + β ( k ) p ( k −1 )
                                                  nghieäm            p=r1+beta*p ;
                                                                     r=r1;
end
                                                                 end
                                                                 r
b. Preconditioned Conjugate gradient method(PCG):

x ( 0 ) = 0, r ( 0 ) = b − Ax ( 0 ) , h ( 0 ) = Cr ( 0 ) , p ( 0 ) = h ( 0 )   clear all
  for k = 1,2,3,…..                                                            clc
                                                                               a=[2 4 7; 4 5 6; 7 6 1];

  α   (k )
              =
                   (r         ) (p )
                        ( k −1) T         ( k −1)                              b=[-1 2 5]';
                                                                               x=[0 0 0]';
                  (p         ) A (p )
                       ( k −1) T             ( k −1)
                                                                               r=b-a*x;
  x ( k ) = x ( k −1 ) + α ( k ) p ( k −1 )                                    h=0.5*r;
                                                                               p=h;
   r ( k ) = r ( k − 1 ) − α ( k ) A p ( k −1 )                                for i=1:10
                                                                                   alpha = r'*p/(p'*a*p);
   h ( k ) = Cr ( k )                                  Chænh lyù                   x = x + alpha*p;
   β   (k )
              =
                  (r ) (h )
                       (k ) T      (k )
                                                                                   r1 = r;
                (r ) (h )
                   ( k −1 ) T      ( k −1)                                         r1= r1-alpha*a*p;
                                                                                   h1 = 0.5*r1;
   p ( k ) = h ( k ) + β ( k ) p ( k −1)                                           beta = r1'*h1/(r'*h);
                                                                                   p=h1+beta*p;
  end
                                                                                   r=r1;
                                                                                   h=h1;
                                                                               end
                                                                               r1
• B . H e ä p h ö ô n g t r ìn h p h i t u y e á n :
       N e w t o n -R a p h s o n
G ia û i t h u a ä t N e w t o n .                             x (k)
                                         a) Choïn nghieäm ñeà nghò
                                                            vaø soá gia nghieäm ôû böôùc(k)
                                                                                     ∆x
       A x= b ,       A(n, n)                               laëp thöù k       ñeå:
     t haëng dö :
                                                            x ( k +1) = x ( k ) + ∆x ( k ) → f ( x ( k+1) ) = 0
        f = A x− b
  Da ï n g t o å n g q u a ù t                            b) Khai trieån Taylor haøm f:

                  f1 ( x1 , x 2 ,....., x n )   0          (       )       (     )
                                                             f x ( k +1) = f x ( k ) + ∆x ( k ) f ' ( x ( k ) ) + 0 ∆x ( k ) 
                                                                                                                   
                                                                                                                   
                                                                                                                             2
                                                                                                                               
                                                                                                                               
                                                 
                  f 2 ( x1 , x 2 ,....., x n )   0 
                                                                                  ∂f1   ∂f1                 ∂f1 
                                                .                             ∂x            . . .
                                .                                                        ∂x 2                ∂x n 
        f ( x) =                               =                              1                              
                               .                .                             ∂f2   ∂f2
                                                                                                 . . .
                                                                                                             ∂f2 
                                                                              ∂x1   ∂x 2                ∂x n 
                                .                .
                                                           f ' ( x ) ≡ J( x ) =  .      .      . . .        . 
                  f ( x , x ,....., x )   0                                                                  
                  n 1 2                    n                                  .      .      . . .        . 
                                                                                  .      .      . . .        . 
                                                                                  ∂f    ∂fn                 ∂fn 
                                                                                  n             . . .            
                                                                                  ∂x1
                                                                                        ∂x 2                ∂x n 
                                                                                                                  
                                                          b) Jacobian haøm f boû ñi soá haïng
                                                             baäc1)cao
                                                            fx(( k+
                                                                           ) = f ( x ) + J( x
                                                                         ( k)      ( k)  ( k)
                                                                                                          ) ∆x
c) Tìm ∆x (k) töø:

        f ( x ( k+1) ) = 0 ⇔ J( x ( k) )∆x ( k) = − f ( x ( k) )    x1 + x 2 = 2
                                                                    x1 x3 + x 2 x 4 = 0
    a) Baûy böôùc cho giaûi thuaät:                                                   2
                                                                    x1 x3 + x 2 x 4 =
                                                                        2         2
        * Ñeà nghò nghieäm ban ñaàu.                                                  3
        * Tính giaù trò haøm f.                                     x1 x3 + x 2 x 4 = 0
                                                                        3         3


                         f
        * Kieåm tra chuaån              ñuû beù thì
        döøng.                                                     Matlab program
        * Tính giaù trò Jacobian J.                          clear all
                  J .∆x = − f
        * Giaûi                                              clc
                                  x ← x + ∆x                 format long
        * Caäp nhaät nghieäm                                 x=zeros(4,1);
        * Trôû veà böôùc 2.                                  x(1)=0.7;x(2)=0.5;x(3)=-0.01;
                                                             x(4)=0.1;
                                                             tol=1e-10; itemax=100;
                                                             itein=0;
V í d u ï:                                                   f=fnorm(x);
                                                             while norm(f)>tol
       Giaûi heä phöông trình phi tuyeán                         itein=itein+1;
       sau:
if itein>itemax break
   end
   jac=jacobian(x);
   dx=-jacf;
   x=x+dx;
   f=fnorm(x);
   sprintf ('itein = %d x1= %15.10f x2= %15.10f x3= %15.10f…
   x4= %15.10f residual= %15.10fn',itein,x,norm(f))
end
sprintf ('solution %20.10f, f(x)= %20.10fn',x, f(x))
%--------------------------------------------------------------------------
function f=fnorm(x)
f=zeros(4,1);
f(1)=x(1)+x(2)-2;
f(2)=x(1).*x(3)+x(2).*x(4);
f(3)=x(1).*x(3).^2+x(2).*x(4).^2-2/3;
f(4)=x(1).*x(3).^3+x(2).*x(4).^3;
%-----------------
function jac=jacobian(x)
jac=zeros(4,4);
jac(1,1)=1;jac(1,2)=1;jac(1,3)=0;jac(1,4)=0;jac(2,1)=x(3);jac(2,2)=x(4);
jac(2,3)=x(1); jac(2,4)=x(2); jac(3,1)=x(3).^2;jac(3,2)=x(4).^2;
jac(3,3)=2*x(1).*x(3); jac(3,4)=2*x(2).*x(4);jac(4,1)=x(3).^3;
jac(4,2)=x(4).^3;jac(4,3)=3*x(1).*x(3).^2;jac(4,4)=3*x(2).*x(4).^2;
Ke á t qua û.
ans =
itein = 33 x1=1.0000000000 x2=1.0000000000 x3=0.5773502692
x4= -0.5773502692 residual=0.0000000000
• I. D u ø n g p h ö ô n g p h a ù p t ín h s o á :
       • 1. L u a ä t t u y e á n t í n h :
                  m                         m
           S xx = ∑ xi xi = 2.08     S x = ∑ xi = 3.2
                 i =1                     i =1
                 m                        m
          S xy = ∑ xi y i = 4.832 S y = ∑ y i = 7.74
                i =1                      i =1



          α=
              1
                  ( S x S y − mS xy ) = 1.8857
              d
          β = ( S x S xy − S xx S y ) = 0.2843
              1
              d
          d = S x2 − mS xx = −2.24
duï
 moøn beà maët segment theo thôøi gian cho baûng döõ lieäu sau: vôùi m = 6.

           x            0.1    0.4       0.5     0.6    0.7    0.9
           y            0.61   0.92     0.99     1.52   1.67   2.03


h ö ô n g t r ìn h c a à n t ìm: = 1.8857x+0.2843
                               y
• 2 . L ua ä t ña thö ùc b a ä c 2 :

    f ( x) = a 0 + a1 x + a 2 x 2 , m = 6, k = 0,1,2,   i = 1,2,...,6
            m         m
                                         m        
                                        a=zeros(3,3);
     m      ∑x   i   ∑x  2
                           i              ∑ yi 
                                        b=zeros(3,1);
    m         i =1   i =1
                                a 0   m=1 i     
     x
               m        m            a(1,1)=6;   
                           xi3  a1  =  ∑ xi y i 
    ∑ i      ∑ xi2   ∑                a(1,2)=s1;
                                a 2   m         
      i =1    i =1    i =1                 i =1
    m                               a(1,3)=s2;
                m      m
    ∑ xi2                                          
     i =1
    
              ∑ xi3
              i =1
                      ∑ xi4 
                      i =1     
                               
                                          ∑ xi y i 
                                          i =1
                                                2

                                        a(2,1)=s1;  
P h ö ô n g t r ìn h c a à n t ìm:      a(2,2)=s2;
                                        a(2,3)=s3;
    y=0.485 + 0.7845x + 1.1152x2        a(3,1)=s2;
                                        a(3,2)=s3;
       Matlab program
                                        a(3,3)=s4;
    Clear all
    clc                                 b(1,1)=s5;
    x=[0.1 0.4 0.5 0.6 0.7 0.9];        b(2,1)=s6;
    y=[0.61 0.92 0.99 1.52 1.67 2.03];  b(3,1)=s7;
    s1=0;s2=0;s3=0;s4=0;s5=0;s6=0;s7=0; c=LU(a,b);
    for i=1:6                           % goïi haøm LU ñaõ thöïc hieän ôû
        s1=s1+x(i);s2=s2+(x(i))^2;      %chöông tröôùc ñeå giaûi nghieäm
        s3=s3+(x(i))^3;s4=s4+(x(i))^4;  %giaûi baèng Matlab:
        s5=s5+y(i);s6=s6+x(i)*y(i);
                                        c0=0.485; c1=0.7845; c2=1.1152;
     s7=s7+x(i)^2*y(i);
   end
y=0.485 + 0.7845x + 1.1152x2




• 3 . L u a ä t p h i tu ye á n :

     y = c1e c2 x → ln y = αx + β
     y = c1 x c2 → ln y = α ln x + β
     y = c1 xe c2 x → ln( y / x ) = αx + β
i s u y t h e o lu a ä t h a ø m lu y õ t h ö ø a

         Matlab program                               suv=suv+xx(i)*yy(i);
  clear all                                         end
  clc                                               d=su^2-6*suu;
  x=[0.1 0.4 0.5 0.6 0.7 0.9];                      c2=(su*sv-6*suv)/d
  y=[0.61 0.92 0.99 1.52 1.67 2.03];                b=(su*suv-suu*sv)/d
  %============================                     c1=exp(b)
  % Baûng soá lieäu ño ñaïc
  %============================                     y = 1.8311 x0.5227
  xx=[];
  yy=[];
  for i=1:6
     xx=[xx log(x(i))];
     yy=[yy log(y(i))];
  end
  su=0;
  suu=0;
  sv=0;
  suv=0;
  for i=1:6
     su=su+xx(i);
     suu=suu+(xx(i)^2);
     sv=sv+yy(i);
N o ä i s u y t h e o lu a ä t t o å h ô ïp

          f ( x ) = c1 f1 ( x ) + c2 f2 ( x ) + .... + cn fn ( x )
                    n
          f ( x) = ∑ ci f i ( x)                                      function b=f2(x)
                   i =1                                               b=x;

P h ö ô n g t r ìn h c a à n t ìm:                                   function a=f1(x)
              0.0365                                                      a=1/x;
         y=          + 2.2177 x
                 x
                                                                            0.0365
      Matlab program                                                   y=          + 2.2177 x
                                                                               x
      clear all
      clc
      x=[0.1 0.4 0.5 0.6 0.7 0.9];
      y=[0.61 0.92 0.99 1.52 1.67 2.03];
      A=zeros(6,2);
      B=zeros(6,1);
      for i=1:6
          A(i,1)=f1(x(i));
          A(i,2)=f2(x(i));
          B(i,1)=y(i);
      end
      c=(A'*A)(A'*B)
u y t h e o lu a ä t ñ a t h ö ù c d ö ïa t r e â n k h a i t r ie å n T a y lo r
                                       n −1                                               α         ρ max
u a ä t ñ a t h ö ùyc= a n x + a n −1 x + .... + a1 x + a 0
                            n

                                                                                        1.0        0.098158
                                                                                        1.5        0.075798
           y1 = a n x1n + a n −1 x1n −1 + .... + a1 x1 + a 0
                                                                                        1.8        0.066604
           y 2 = a n x 2 + a n −1 x 2 −1 + .... + a1 x 2 + a 0
                       n            n
                                                                                        2.0        0.049851
                                                                                        3.0        0.046624
           .                                                                            3.5        0.041890
           .                                                                            4.5        0.034597
                           α
                           ρ max
           y n = a n x + a n −1 x n −1 + .... + a1 x n + a 0
                       n
                       n
                                  n
                                                                 a ) L u a ä t P a r a b ocl x 2 + c2 x + c3
                                                                                           1

          x1n    x1n −1 ... x1 1  a n   y1 
          n                                                                              c1
          x2     x2n −1
                         ... x 2 1  a n −1   y 2  b ) L u a ä t t o å h ô ï p t u y e á n t í n h 2 x
                                                                                                   +c
        ⇒ .        .     . . .  .  =  . 
                                                                                               x
                                            
          .        .     . . .  .   . 
         x n                                 
          n      x n −1 ... x n 1  a 0   y n 
                    n
                                  

Ví d uï

   Baûng döõ lieäu ño ñaïc :
Matlab programclear all
              clc
              alpha=[1 1.5 1.8 2.0 3.0 3.5 4.5]';
              rho= [0.098158 0.075798 0.066604 0.049851
              0.046624 0.04189 0.0346]';
              % luaät parabol qua 7 ñieåm: c1x^2+c2x+c3
              A=[alpha.^2 alpha ones(size(alpha))];
              disp(A'*A)
              disp(A'*rho)
              c =(A'*A)(A'*rho)
              % veõ ñoà thò
              xfit=linspace(min(alpha),max(alpha));
              yfit1=c(1)*xfit.^2+c(2)*xfit+c(3);
              % luaät c1/x+c2x
              A=[1./alpha alpha];
              c=(A'*A)(A'*rho);
              xfit=linspace(min(alpha),max(alpha));
              yfit2=c(1)./xfit+c(2)*xfit;
              plot(alpha,rho,'o',xfit,yfit1,'r',xfit,yfit2,'c')
              xlabel('alpha')
              ylabel('rho')
              title(‘rho=f(alpha)')
              legend(‘ döõ lieäu ño ñaïc','luaät parabol',luaät toå hôïp')
              grid on
• II. D u ø n g t íc h p h a â n s o á :
                                                                                                                      f(x)
     • 1. L u a ä t h ì n h t h a n g                                                               Eh
                                                                                          y
     ( T r a p z o id a l R u le ) :
          xi
                         h
          ∫
         xi −1
               f ( x)dx ≈ i ( f ( xi −1 ) + f ( xi ))
                          2
                     h  f ( x0 ) + 2 f ( x1 ) + 2 f ( x 2 ) + .....                                                         x
          I trap =                                                  +E
                     2  + 2 f ( x n −1 ) + f ( x n )
                       
                                                                     
                                                                                             x0 = a x1   x2 ….   Xn-1 x =b
                                                                                                                        n


                b−a
          h=        , x i = a + i * h, x 0 = a , x n = b
                 N
                       h
          I trap =       ( f 0 + 2 f1 + 2 f 2 + ..... + 2 f n−1 + f n ) + E
                       2
               1 (b − a) 3            N
                                                                      xi −1 + xi +1
          E≈−
              12 N 3
                                    ∑f
                                     i =1
                                                ''
                                                     ( xi ),   xi =
                                                                            2

Ví d uï
                                                                                      2
                                            2
                                                                 x 2 
                                                                2

 Tính tích phân: S = ∫                          f ( x)dx = ∫ π 1 +    dx
                                                                2 
                                            0              0           
Ke á t quûa :
Matlab program
                                    N               h                          S   h
                                                                                                E   h

                                    2                1.                12.7627              -1.0341
clear all                           4               0.5                11.9895              -0.2609
clc                                 8              0.25                11.7940              -0.0654
N=16;                              16             0.125                11.7449              -0.0163
                                   32            0.0625                11.7326              -0.0040
a=0;                               64           0.03125                11.7296              -0.0010
b=2;
h=(b-a)/N;                     • 2 . L u a ä t S i m p s o n 1/3
S=0;                           ( S im p s o n R u le ) :
for i=0:N                             b
                                                  h
   x=a+i*h;                     S = ∫ f ( x )dx =   [ f (a) + 4 f ( x ) + f (b )] + E
                                     a
                                                  3
   if i==0 | i==N                                         b−a            a+b
      c=1;                         x 0 = a, x 2 = b, h =         , x=
                                                            2               2
   else                                b
                                                   h
                                 S = ∫ f ( x )dx = [ f 0 + 4 f 1 + f 2 ] + E
      c=2;                             a
                                                   3
   end                                     h           N −1             N −2
                                                                                             
                                 S simp   =  f (a ) + 4∑ f (a + ih) + 2 ∑ f (a + ih) + f (b) + E
   S=S+c*pi*(1+(x/2).^2).^2;               3           i =1             i =2                
end
                                             h  f ( x 0 ) + 4 f ( x1 ) + 2 f ( x 2 ) + 4 f ( x3 ) + 
S=h*S/2                          S simp =                                                           +E
                                             3  ..... + 4 f ( x n −1 ) + f ( x n )
                                               
                                                                                                     
                                                                                                     
                                     N h 5 ''''                          N
                                                                                                           xi −1 + xi +1
                                 E≈−      f ,             f   ''''
                                                                     = ∑ f '''' ( x i ) / N ,       xi =
                                     2 90                               i =1                                     2
Matlab program                      Ke á t quûa :

clear all                      N                  h                 Sh             Eh
clc
                                2                   1.            11.7809        -0.0523
N=16;                           4                  0.5            11.7318        -0.0032
a=0;                            8                 0.25            11.7288        -0.0002
b=2;                           16                 0.125           11.7286        -0.0000
                               32                0.0625           11.7286        -0.0000
h=(b-a)/N;                     64               0.03125           11.7286        -0.0000
S=0;
for i=0:N                 G ia ù t r ò t íc h
   x=a+i*h;               p h a 1.32
                                ân
                               5
  if i==0 | i==N               1.32
     c=1;
                               1.31
                               5
 elseif i==fix(i/2)*2+1        1.31

   c=4;                        1.30
                                                 Luaät Simpson

 else                          5
                                                      Chính
   c=2;                        1.3
                                                      xaùc
  end                          1.29
                               5          Luaät hình thang
  S=S+c*pi*(1+(x/2).^2).^2;    1.29
end                                   0     10           20        30       40    50
                                                      Soá phaân
S=h*S/3                                               ñoaïn
S ai s oá
phöô ng
pha ùp:
. T íc h p h a â n G a u s s ( G a u s s q u a d r a t u r e ) :
           1
      I = ∫ f ( x) dx ≈ w1 f ( x1 ) + w2 f ( x 2 ) +  + wn f ( x n )
           −1
                       1

  V í d u ï:      I = ∫ (0.2 + 25 x − 200 x 2 + 675 x 3 − 900 x 4 + 400 x 5 ) dx
                       −1

  Matlab program                      clear all
                                       clc
                                      format long
                                                x1=-0.861136;
                                                x2=-0.339981;
                                                x3=0.339981;
                                                x4=0.861136;
   Tính vôùi 4 ñieåm                            % ------troïng soá------------------------------------
   Gauss:                                       w1=0.347855;
                                                w2=0.652145;
                                      w3=0.652145;
                                                w4=0.347855;
                                                f1=w1*gauss1(x1);
                                                f2=w2*gauss1(x2);
                                                f3=w3*gauss1(x3);
                                                f4=w4*gauss1(x4);
                                                m=f1+f2+f3+f4
                                    %--------------------------------------------------------------------
                                      function ff=gauss1(x)
                                                  ff=400*x^5-900*x^4+675*x^3-200*x^2+25*x+0.2;
                                      keát quaû:
                                                 I=-4.929329328775451e+002
f u n c t io n
                                                                                                      [ K e , f e ] =b e a m 2 e ( e x , e y , e p , e q ) ;
                                                             M A TL A B - F E M                       % -------------------------------------------------
                                                                                                      --------------------
                                                                                                      %          IN P U T :
 a ø i ta ä p 3 .4                                                                                    %                    e x = [x1 x2 ]
                                                                     E d =e x t r a c t ( %d o f , a ) ; e y = [ y 1 y 2 ]
                                                                                                      E                                                           e le m e n t
    r a ll; c lc ; c lo s e a ll                                     [ e s 1, e d i 1, e c n1] d e e c o o2 d (i n a t e s: ) , E y ( 1, : ) , e p , E d ( 1, : ) , E q ( 1,
                                                                                                       i o =b a m r s E x ( 1,
 o o ff                                                                                               %
                                                                     [ e s 2 , e d i 2 , e c i 2 ] =b e a m 2 s ( E x ( 2 , : ) , E y ( 2 , : ) , e p , E d ( 2 , : ) , E q
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % - - - - - - - - - - - - - - -%- - - - - - - - - - - e-p - -= -[-E - - - - I ]- - - -e - - -m - - - -t - - - - -
                                                                     -- -          -         -       ---        -          - - - - A -                      - le -- e n -
o f =[ 1 1 2 3 4 5 6 ;                                                                                p r o p e r t ie s
            2 4 5 6 7 8 9 ];                                                                          %                                                      E : Yo u n g ' s
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -m o-d-u l u s
                                                                                                       --- - -
  e ros (9 );                    f =z e r o s ( 9 , 1) ; f ( 8 ) =- 8 8 . 9 /2 ;                      %                                                      A: C ro s s
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -s - - - - t -o n a r e a
                                                                                                       - e c -i
    . 9 ; t w =0 . 3 15 ; b f =6 . 0 15 ; t f =0 . 5 2 5 ;                                            %                                                      I: M o m e n t o f
 * t f * b f +t w * ( h - 2 * t f ) ;                                                                 in e r t ia
 5 e - 2 ; E =2 . 1e 8 ; L =6 . 1;                                                                    %
   E A I] ;                                                                                           %                    e q = [ q x q y ] d is t r ib u t e d
=[ 0                  L;                                                                              lo a d s , lo c a l d ir e c t io n s
      L        3 * L /2 ] ;                                                                           %
 z e ro s ( 2 ,2 ) ;                                                                                  %          O U T P U T : K e : e le m e n t s t if f n e s s
=z e r o s ( 2 , 2 ) ;                                                                                m a t r ix ( 6 x 6 )
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%- - - - - -
                                                                                                       -                                 f e : e le m e n t lo a d
   =1: 2                                                                                              v e c t o r ( 6 x 1)
   %, - - - - - - - - - - -m - - - - - - - x-(-i-,- - - - - y-( -i- - ) , e-p -)-;- - - - - - -% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  e f e ] =b e a            -- 2 e ( E -               :) , E   - , : --- -                            -
  ,-f-]-=a- s -s - - - ( E d o f ( i , : ) , K , K e , f , f e ) ;
        -- - - e m                                                                                    ------------
     b c =[ 1 0 ; 2 0 ; 4 0 ; 5 0 ; 7 0 ; 9 0 ] ;                                                        b =[ e x ( 2 ) - e x ( 1) ; e y ( 2 ) - e y ( 1) ] ;
     a =s o l v e q ( K , f , b c ) ;                                                                    L =s q r t ( b ' * b ) ; n =b /L ;

  % -------------------------------------------------
  ------------
Matlab ung dung
Matlab ung dung
Matlab ung dung

More Related Content

What's hot

Kts c2-dai so boole
Kts c2-dai so booleKts c2-dai so boole
Kts c2-dai so booleWang Ruan
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture03
20110224 systems of_typed_lambda_calculi_moskvin_lecture0320110224 systems of_typed_lambda_calculi_moskvin_lecture03
20110224 systems of_typed_lambda_calculi_moskvin_lecture03Computer Science Club
 
He phuong trinh dai_so[phongmath]
He phuong trinh dai_so[phongmath]He phuong trinh dai_so[phongmath]
He phuong trinh dai_so[phongmath]phongmathbmt
 
Boost.勉強会#4 Boost.Proto
Boost.勉強会#4 Boost.ProtoBoost.勉強会#4 Boost.Proto
Boost.勉強会#4 Boost.Protofjnl
 
Bài tập có lời giải chương 1
Bài tập có lời giải chương 1Bài tập có lời giải chương 1
Bài tập có lời giải chương 1TheSPDM
 
Tổng hợp hình cầu truonghocso.com
Tổng hợp hình cầu   truonghocso.comTổng hợp hình cầu   truonghocso.com
Tổng hợp hình cầu truonghocso.comThế Giới Tinh Hoa
 
Chuyên đề 6 góc lượng giác và công thức lượng giác
Chuyên đề 6 góc lượng giác và công thức lượng giácChuyên đề 6 góc lượng giác và công thức lượng giác
Chuyên đề 6 góc lượng giác và công thức lượng giácphamchidac
 
Юрий Владимирович Матиясевич. Десятая проблема Гильберта. Решение и применени...
Юрий Владимирович Матиясевич. Десятая проблема Гильберта. Решение и применени...Юрий Владимирович Матиясевич. Десятая проблема Гильберта. Решение и применени...
Юрий Владимирович Матиясевич. Десятая проблема Гильберта. Решение и применени...Computer Science Club
 
Sakhtoman dadeha 90-91 - nimsal 2 -F1notes.ir
Sakhtoman dadeha   90-91 - nimsal 2 -F1notes.irSakhtoman dadeha   90-91 - nimsal 2 -F1notes.ir
Sakhtoman dadeha 90-91 - nimsal 2 -F1notes.irehsangh100
 
Dao ham khao sat ham so hk1
Dao ham   khao sat ham so hk1Dao ham   khao sat ham so hk1
Dao ham khao sat ham so hk1Vcoi Vit
 
Toan 1 bai 2 hàm số - bookbooming
Toan 1 bai 2 hàm số - bookboomingToan 1 bai 2 hàm số - bookbooming
Toan 1 bai 2 hàm số - bookboomingbookbooming
 

What's hot (17)

Kts c2-dai so boole
Kts c2-dai so booleKts c2-dai so boole
Kts c2-dai so boole
 
Chuong8
Chuong8Chuong8
Chuong8
 
Da toanct qg_k15
Da toanct qg_k15Da toanct qg_k15
Da toanct qg_k15
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture03
20110224 systems of_typed_lambda_calculi_moskvin_lecture0320110224 systems of_typed_lambda_calculi_moskvin_lecture03
20110224 systems of_typed_lambda_calculi_moskvin_lecture03
 
He phuong trinh dai_so[phongmath]
He phuong trinh dai_so[phongmath]He phuong trinh dai_so[phongmath]
He phuong trinh dai_so[phongmath]
 
Boost.勉強会#4 Boost.Proto
Boost.勉強会#4 Boost.ProtoBoost.勉強会#4 Boost.Proto
Boost.勉強会#4 Boost.Proto
 
373
373373
373
 
Ppt fungsi komposisi
Ppt fungsi komposisiPpt fungsi komposisi
Ppt fungsi komposisi
 
Bài tập có lời giải chương 1
Bài tập có lời giải chương 1Bài tập có lời giải chương 1
Bài tập có lời giải chương 1
 
Tổng hợp hình cầu truonghocso.com
Tổng hợp hình cầu   truonghocso.comTổng hợp hình cầu   truonghocso.com
Tổng hợp hình cầu truonghocso.com
 
Chuyên đề 6 góc lượng giác và công thức lượng giác
Chuyên đề 6 góc lượng giác và công thức lượng giácChuyên đề 6 góc lượng giác và công thức lượng giác
Chuyên đề 6 góc lượng giác và công thức lượng giác
 
Юрий Владимирович Матиясевич. Десятая проблема Гильберта. Решение и применени...
Юрий Владимирович Матиясевич. Десятая проблема Гильберта. Решение и применени...Юрий Владимирович Матиясевич. Десятая проблема Гильберта. Решение и применени...
Юрий Владимирович Матиясевич. Десятая проблема Гильберта. Решение и применени...
 
G7
G7G7
G7
 
Sakhtoman dadeha 90-91 - nimsal 2 -F1notes.ir
Sakhtoman dadeha   90-91 - nimsal 2 -F1notes.irSakhtoman dadeha   90-91 - nimsal 2 -F1notes.ir
Sakhtoman dadeha 90-91 - nimsal 2 -F1notes.ir
 
Integral 11 r angi
Integral  11 r angiIntegral  11 r angi
Integral 11 r angi
 
Dao ham khao sat ham so hk1
Dao ham   khao sat ham so hk1Dao ham   khao sat ham so hk1
Dao ham khao sat ham so hk1
 
Toan 1 bai 2 hàm số - bookbooming
Toan 1 bai 2 hàm số - bookboomingToan 1 bai 2 hàm số - bookbooming
Toan 1 bai 2 hàm số - bookbooming
 

Matlab ung dung

  • 1. M A T L A B Ö Ù N G D U ÏN G TS . N G U YE Ã N H O Ø A I S Ô N K H O A X A Â Y D Ö ÏN G & C Ô H O ÏC Ö Ù N G D U ÏN G 2006
  • 3. M A TL A B C A Ê N B A Û N I. B IE Å U T H Ö Ù C ( E X P R E S S IO N )  Bieán soá ( variables)  Soá (Numbers)  Toaùn töû ( Operaters)  Haøm ( Functions) - toái ña 19 kyù töï coù nghóa - phaân bieät giöõa chöõ hoa vaø chöõ thöôøng. - baét ñaàu baèng moät töø theo sau laø töø hay soá hoaëc daáu (_). B ie á n ( V a r ia b le s ) - bieán toøan cuïc (global) taùc duïng trong toøan chöông trình. - bieán cuïc boä (local) taùc duïng trong noäi taïi haøm (function) - moät soá bieán ñaëc bieät: pi, ans,…  Kieåm tra bieán (w h o v a ø w h o s )  X o ù a b ie á n ( c le a r v a ø c le a r a ll) Ví d u ï >> c l e a r a >> c l e a r b d e g r e e >> a u n d e f in e d f u n c t io n o r v a r ia b le
  • 4. M A TL A B C A Ê N B A Û N 1. S o á ( N u m b e r s ) Taát caû nhöõng con soá ñeàu ñöôïc löu kieåu ñònh daïng (f o r ma t ) Duøng haøm f o r m a t ñ e å ñ ò n h d a ï n g k i e å u s o á : f o r m a t ( ñ ò n h d a ïn g ) >> b=3/26; >> format long; b >> format +; b b= b= 0.11538461538462 + >> format short e; b >> format rat; b b= b= 1.1538e-001 3/26 >> format bank; b >> format short; b b= b= 0.12 0.1154 >> format short eng; b >> format long eng; b b= b= 115.3846e-003 115.384615384615e-003>> >> format hex; b b= 3fbd89d89d89d89e
  • 5. M A TL A B C A Ê N B A Û N 2 . To a ù n tö û ( o p e r a te r s ) (+, - , * / , ,^ ,’) , >> 2*4+2 ans = 10 MATLAB >> (2+sqrt(-1))^2 ans = 3.0000 + 4.0000i  Caùc bieán khoâng caàn khai baùo tröôùc.  Caùc kyù töï thöôøng vaø in laø phaân bieät.  Keát thuùc caâu leänh vôùi “;” khoâng hieån thò keát quûa caâu leänh.  Bieán maëc nhieân “ans” >> rayon = 1e-1; >> surface = pi * rayon * rayon surface = 0.0314 >> volume= 4*pi*rayon^3/3; volume = 0.0042
  • 6. M A TL A B C A Ê N B A Û N H a ø m c ô b a û n ( b a s is f u n c t io n s ) a b s , s q r t , e x p , s in , … cos( x + iy ) = cos( x) cosh( y ) − i sin( x) sinh( y ) eiz + e −iz cos( z ) = 1 2 0.8 >> x=-pi:0.01:pi; 0.6 >> plot(x,cos(x)); grid on 0.4 0.2 0 z = x + i * y → log( z ) = log(abs ( z )) + a tan 2( y, x) * i -0.2 >> abs(log(-1)) -0.4 ans -0.6 3.1416 -0.8 z = x + i * y → r = abs ( z ); theta = a tan 2( y, x) = a tan( y / x) -1 -4 -3 -2 -1 0 1 2 3 4 >> z = 4 + 3 i ; >> r = a b s ( z ) >> t h e t a = a t a n 2 ( i m a g ( z ) , r e a l ( z ) ) >> z=r*exp(theta*i) r = z= 5 4.0000+3.0000i the ta = 0 .6 4 3 5
  • 7. M A TL A B C A Ê N B A Û N Ö u t ie â n c a ù c p h e ù p t o a ù n >> a=2; b=3; c=4; >> a*b^c ans = 162 >> (a*b)^c ans = 1296 o , lö u v a ø m ô û t a ä p t in ( f p r in t f , s a v e , f s c a n f , lo a d , f o p e n , f x = 0:.1:1; y = [x; exp(x)]; 0.00 1.00000000 fid = fopen('exp.txt','w'); 0.10 1.10517092 fprintf(fid,'%6.2f %12.8fn',y); ... fclose(fid); 1.00 2.71828183 C höô ng C h ö ô n g t r ìn h t r ìn h c on c l e a rc a líln h l c h ; c f u n c t io n A= f i l e _d u l i e u f i l e _d u l i e u 1 2 3 lo a d d u lie u , A =[ 1 2 3 ; 4 5 4 5 6 A 6 ;7 8 9 ] ; 7 8 9 s a v e d u lie u A
  • 8. M A TL A B C A Ê N B A Û N a ø m x ö û l y ù s o á ( f i x , f l o o r , c e i l , r o u n d , s i g n , s o r t …)  round: laøm troøn  fix: laøm troøn veà 0 >> a=[1.25,-4.54,6.5,-7.1]; >> a=[1.25,-4.54,6.5,-7.1]; >> round(a) >> fix(a) ans = ans = 1 -5 7 -7 1 -4 6 -7  s ig n : h a ø m d a á u v ô ù i g ia ù  floor: laøm troøn veà aâm voâ cuøng t r ò ñ ô n v ò >> a=[1.25,-4.54,6.5,-7.1]; >> a=[1.25,-4.54,6.5,-7.1]; >> floor(a) >> sign(a) ans = ans = 1 -5 6 -8 1 -1 1 -1  sort: saép xeáp töø nhoû ñeán lôùn  ceil: laøm troøn veà döông voâ cuøng >> a=[1.25,-4.54,6.5,-7.1]; >> a=[1.25,-4.54,6.5,-7.1]; >> sort(a) >> ceil(a) ans = ans = -7.1000 -4.5400 1.2500 6.5000 2 -4 7 -7
  • 9. M A TL A B C A Ê N B A Û N II. M A T R A Ä N V A Ø V E C T Ô “ [ …; …; …] ” >> A = [ 1, 2, 3; 4, 5, 6; 7, 8, 10] A = 123 456 7 8 10 >> A(3,3) = 17 A=  “;” coù nghóa laø chuyeån sang haøng 123 keá tieáp. 456  “,” hay “ “ phaân caùch giöõa caùc 7 8 17 phaàn töû. >> vec = [10; 0; 1000] vec = 10 0 1000 >> A’ ans = 147 258 3 6 17
  • 10. M A TL A B C A Ê N B A Û N >> t = 1:5 t= 12345 >> row = A(1,:) row = 123  “:” coù nghóa laø taát caû. >> col = A(:,1)  “:” töø giaù trò naøy tôùi giaù trò khaùc. col =  “:” töø giaù trò naøy tôùi giaù trò khaùc böôùc bao 1 nhieâu. 4 7 >> 1:0.3:2 ans = 1 1.3000 1.6000 1.9000 >> tt = t(:) tt = 1 2 3 4 5
  • 11. M A TL A B C A Ê N B A Û N  Ma traän phöùc. >> imag(b) >> b = [4; 5-15*i; -5;2+i]; ans = >> abs(b) 0 ans = -15 4.0000 0 15.8114 1 5.0000 >> angle(b) 2.2361 ans = >> conj(b) 0 ans = -1.2490 4.0000 3.1416 5.0000 +15.0000i 0.4636 -5.0000 >> atan2(imag(b),real(b)) 2.0000 - 1.0000i ans = >> real(b) 0 ans = -1.2490 4 3.1416 5 0.4636 -5 2
  • 12. M A TL A B C A Ê N B A Û N  Haøm taïo ma traän ñaëc bieät.>> A =z e r o s ( 3 ) >> C =o n e s ( 3 ) A =  zeros(n) C = 0 0 0  zeros(m,n) 0 0 0 1 1 1 1 1 1  zeros([m n]) 0 0 0 1 1 1  zeros(size(A)) >> B =z e r o s ( 2 , 3 ) >> D =e y e ( 3 ) B =  ones(n) 0 0 0 D =  ones(m,n) 0 0 0 1 0 0 0 1 0  ones([m n]) >> s i z e ( A ) 0 0 1 a ns =  ones(size(A)) >> e y e ( 3 , 2 ) 3 3  eye(n) >> z e r o s ( s i z e ( B ) ) a ns = 1 0  eye(m,n) a ns = 0 1  eye(size(A)) 0 0 0 0 0 0 0 0  pascal >> n u m e l ( B ) >> p a s c a l ( 3 )  magic a ns = a ns = 1 1 1  numel(A) 6 1 2 3 >> l e n g t h ( B )  length(A) a ns = 1 3 6  rand(m,n) 3 >> m a g i c ( 3 ) a ns =  diag(v,k), diag(v) >> r a n d ( 3 , 2 ) 8 1 6  tril, triu a ns = 3 5 7 0 .9 5 0 1 0 .4 8 6 0  linspace(a,b), linspace(a,b,n) 0 . 2 3 11 0 . 8 9 13 4 9 2  logspace(a,b,n) 0 .6 0 6 8 0 .7 6 2 1
  • 13. M A TL A B C A Ê N B A Û N >> d i a g ( [ 2 1 2 ] , 1) a ns = 0 2 0 0 0 0 1 0 0 0 0 2 0 0 0 0 >> d i a g ( A ) a ns = 1 5 9 >> t r i u ( A ) >> A =[ 1 2 3 ;4 5 6 ;7 8 9 ] a ns = A = 1 2 3 0 5 6 1 2 3 0 0 9 4 5 6 >> t r i l ( A ) 7 8 9 a ns = 1 0 0 4 5 0 7 8 9 >> l i n s p a c e ( 1, 2 , 4 ) a ns = 1. 0 0 0 0 1. 3 3 3 3 1. 6 6 6 7 2 .0 0 0 0 >> l o g s p a c e ( 1, 2 , 4 ) a ns = 10 . 0 0 0 0 2 1. 5 4 4 3 4 6 . 4 15 9 10 0 . 0 0 0 0
  • 14. M A TL A B C A Ê N B A Û N I . C A ÙC P HE ÙP T OÙA N T R E Â N M A T R A Ä N V A Ø V E C T P he ùp C h u ù t h íc h t ín h +, - C o ä ng ho a ë c trö ø ha i m a t r a ä n c u ø n g k íc h A *B N hta â n ù c i m a t r a ä n A höô ha A /B C hv a ø a i m a t r a ä n ( c h i a ia h B A B C hp a a r a )ù A hvaai ømB t r a ä n i h tûi i a A . *B N hB â n ø öA n g p h a à n t ö û a va t ø c uûa ha i ma tra ä n A A . /B C hv a ø öB n g p h a à n t ö û ia t ø c uûa ha i ma tra ä n A A .B C hv a ø öB n g p h a à n t ö û ia t ø c uûa ha i ma tra ä n B .^ M uvõ ø h o t ö ø n g p h a à n a c A tö û c uû a m a û ng
  • 15. M A TL A B C A Ê N B A Û N >> A =[ 1 2 3 ; 4 5 6 ; 7 8 9 ] D =[ A C ] >> A = D = 1 2 3 1 2 3 -4 2 3 4 5 6 4 5 10 1 2 1 7 8 9 7 8 9 2 5 6 >> A ( 2 , 3 ) =10 >> D ( 5 ) A = a ns = 1 2 3 5 4 5 10 >> D ( 4 , 5 ) 7 8 9 ? ? ? In d e x e x c e e d s m a t r ix d im e n s io n s . >> B =A ( 2 , 1) >> X =D B = X = 4 1 2 3 -4 2 3 >> C =[ -4 2 3 ; 1 2 1; 2 5 6 ] 4 5 10 1 2 1 C = 7 8 9 2 5 6 -4 2 3 >> X ( 2 , 6 ) 1 2 1 a ns = 2 5 6 1 >> X ( 2 , : ) a ns = 4 5 10 1 2 1
  • 16. X = 1 2 M A TL A B C A Ê N B A Û N 3 -4 2 3 4 5 10 >> X ( : , e n d ) 1 2 1 a ns = 7 8 9 3 2 5 6 1 6 >> E =X ( [ 2 3 ] , [ 1 3 ] ) E = > X ( : , 1) 4 10 ns = 7 9 1 >> X ( 2 , e n d ) 4 a ns = 7 1. > 1: 5 >> X ( 3 , : ) =[ ] ns = X = 1 2 3 4 5 1 2 3 -4 2 3 > 3 0 : - 4 : 15 4 5 10 1 2 1 ns = >> X ( : , 5 ) =[ 3 4 ] 30 26 22 18 X = > X ( 2 :3 , :) 1 2 3 -4 3 3 ns = 4 5 10 1 4 1 4 5 10 1 2 1 >> X ( 2 , : ) 7 8 9 2 5 6 a ns = 4 5 10 1 2 1
  • 17. M A TL A B C A Ê N B A Û N >> C ( 4 , : ) =[ 8 4 6] C = -4 2 3 1 2 1 2 5 6 8 4 6 >> C ( : , 4 ) =[ 8 4 6 1] ’ C = -4 2 3 8 C = 1 2 1 4 2 5 6 6 -4 2 3 8 4 6 1 1 2 1 >> C =[ C o n e s ( 4 ) ;z e r o s ( 4 ) e ye ( 4 ) ] 2 5 6 C = -4 2 3 8 1 1 1 1 1 2 1 4 1 1 1 1 2 5 6 6 1 1 1 1 8 4 6 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0  Ma traän phöùc. 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
  • 18. M A TL A B C A Ê N B A Û N  Haøm xöû lyù ma traän vaø vectô (size, median, max, min, mean, sum, length,…) >> s i z e ( C ) a ns = 3 3 C = >> m e a n ( B ) -4 2 3 a ns = 1 2 1 2 .6 6 6 7 2 5 6 >> s u m ( B ) a ns = B = 16 1 5 6 >> m i n ( C ) -5 7 2 a ns = -4 2 1 >> s o r t ( C ) a ns = -4 2 1 1 2 3 2 5 6
  • 19. M A TL A B C A Ê N B A Û N • II. G ia û i h e ä p h ö ô n g t r ìn h t u y e á n t ín h v a ø p h i t u y e á n b a è n g h a ø m t h ö v ie ä n M a t la b : s o lv e 1. Heä ñaïi soá tuyeán tính A*x=b >>clear all >>clc >>A=[1 3 6;2 7 8;0 3 9]; >>b=[10;9;8]; >>x=inv(A)*b %(x=Ab) x1 + 3 x 2 + 6 x3 = 10 x= 2 x1 + 7 x 2 + 8 x3 = 9 7.8571 -3.1905 0 x1 + 3 x 2 + 9 x3 = 8 1.9524 2. Heä ñaïi soá tuyeán tính A*x=b , solve >>S=solve('x+3*y+6*z=10','2*x+7*y+8*z=9','3*y+9*z=8') S= x: [1x1 sym] y: [1x1 sym] z: [1x1 sym] >> eval([S.x S.y S.z]) ans = 7.8571 -3.1905 1.9524
  • 20. M A TL A B C A Ê N B A Û N 3. Heä ñaïi soá tuyeán tính A*x=b, LU decomposition >> c l e a r a l l >> c l c >> [ L , U ] =l u ( A ) L = 0 .5 0 0 0 - 0 . 16 6 7 1. 0 0 0 0 1. 0 0 0 0 0 0 0 1. 0 0 0 0 0 x1 + 3 x 2 + 6 x3 = 10 U = 2 .0 0 0 0 7 .0 0 0 0 8 .0 0 0 0 2 x1 + 7 x 2 + 8 x3 = 9 0 3 .0 0 0 0 9 .0 0 0 0 0 x1 + 3 x 2 + 9 x3 = 8 0 0 3 .5 0 0 0 >> x =U ( L b ) x = 7 .8 5 7 1 -3 . 19 0 5 1. 9 5 2 4 >> x =i n v ( U ) * i n v ( L ) * b x = 7 .8 5 7 1 -3 . 19 0 5 1. 9 5 2 4
  • 21. M A TL A B C A Ê N B A Û N C A Ù C P H E Ù P TO Ù A N TR E ÂN Ñ A TH Ö Ù C  T ín h g ia ù t r ò ñ a t h ö ù c > pol=[1,2,3,4] pol = 1234 > polyval(pol,-1) ans = 2  T ìm n g h ie ä m ñ a t h ö ù c > pol=[1,2,3,4] pol = 1234 > roots(pol) ans = -1.6506+ 0.0000j -0.1747+ 1.5469j -0.1747- 1.5469j
  • 22. M A TL A B C A Ê N B A Û N  Nh a â n v a ø c h ia ñ a t h ö ù c Cho hai ña thöùc: f1 = s 2 + 7 s + 12 f2 = s2 + 9 Haõy tính f 3 = f 1 * f 2 > f1=[1 7 12]; > f2=[1 0 9]; f3 = s 4 + 7 s 3 + 21s 2 + 63s + 108 f3=conv(f1,f2) f3= 1 7 21 63 108 Cho hai ña thöùc: f 4 = s 4 + 9s 3 + 37 s 2 + 81s + 52 f5 = s 2 + 4 s + 13 Haõy tính f6 = f 4 / f5 > f4=[1 9 37 81 52]; > f5=[1 4 13]; f 6 = s 2 + 5s + 4 [f6 r]=deconv(f4,f5) f6= 1 5 4 r= 0 0 0 0 0 r laø phaàn dö cuûa pheùp chia
  • 23. M A TL A B C A Ê N B A Û N  T ín h ñ a ï o h a ø m ñ a t h ö ù c : p o l y d e r (p ) >> p=[2 0 9 1]; >> polyder(p); a ns = 6 0 9 Phaân raõ ña  Phaân r aõ ña t höùc 2s3 + 9s + 1 thöùc: F (s) = 3 2 s + s + 4s + 4 > a=[2 0 9 1]; > b=[1 1 4 4]; > [r,p,k]=residue(a,b) [b ,a ]=r e s id u e (r ,p ,k )
  • 24. M A TL A B C A Ê N B A Û N Bieåu thöùc phaân raõ ?  P h ö ô n g p h a ù p b ìn h p h ö ô n g t o á i t h ie å u t r o n g x ö û l y ù s o á l ie ä u t h ö ï c n g h ie ä m > x=[1 3 10]; > y=[10 18 37]; > polyfit(x,y,1) y = 2.92537 x + 8.01493 ans = 2.92537 8.01493
  • 25. M A TL A B C A Ê N B A Û N 1 8 . Noä i s uy 0.8 0.6  No ä i s u y d ö õ l ie ä u mo ä t c h ie à u : 0.4 in t e r p 1 (x ,y ,x i) > x= 0 : 10 ; 0.2 > y = sin(x); 0 > xi= 0 : .5 : 10; -0.2 -0.4 > yi= interp1(x,y,xi); -0.6 -0.8 -1 0 1 2 3 4 5 6 7 8 9 10  No ä i s u y d ö õ l ie ä u mo ä t c h ie à u ñ a t h ö ù c b a ä c b a : s p l in e (x ,y ,x i) > x= 0 : 10 ; 1 > y = sin(x); 0.8 > xi= 0 : .5 : 10; 0.6 0.4 > yi= spline(x,y,xi); 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7 8 9 10
  • 26. M A TL A B C A Ê N B A Û N  No ä i s u y d ö õ l ie ä u h a i c h ie à u : in t e r p 2 (x ,y ,z ,x i,y i) > [x,y]= messhgrid(-3 : .25 : 3) ; > z = peaks(x,y); > [xi, yi]= messhgrid(-3 : .125 : 3) ; > zi= interp2(x,y,z,xi,yi) > hold on > mesh(x,y,z), mesh(xi,yi,zi)
  • 27. M A TL A B C A Ê N B A Û N 9 . G ia û i p h ö ô n g t r ìn h , h e ä p h ö ô n g t r ìn h v i p ha â n thö ô ø ng  Ha ø m : d s o l v e (e q 1 ,e q 2 ,… o n d 1 ,c o n d 2 ,… ) ,c ,v Ví d uï Ke á t qua û dsolve('Dy = a*y') exp(a*t)*C1 dsolve('Df = f + sin(t)') -1/2*cos(t)-1/2*sin(t)+exp(t)*C1 dsolve('(Dy)^2 + y^2 = -sin(-s+C1) 1','s') dsolve('Dy = a*y', 'y(0) = b') exp(a*t)*b dsolve('D2y = -a^2*y',… cos(a*t) 'y(0) = 1', 'Dy(pi/a) = 0') x = cos(t)*C1+sin(t)*C2 dsolve('Dx = y', 'Dy = -x') y = -sin(t)*C1+cos(t)*C2
  • 28. M A TL A B C A Ê N B A Û N  Ha ø m : d s o l v e (e q 1 ,e q 2 ,… o n d 1 ,c o n d 2 ,… ) ,c ,v Ví du: giaûi phöông trình vi phaân caáp hai && + 81y = 16 cos ( 7t ) y Vôùi ñieàu kieän ñaàu y ( 0 ) = 0, y ' ( 0 ) = 0 >y= dsolve(‘D2y+81*y=16*cos(7*t)’,’y(0)=0’,’Dy(0)=0’,’t’) ; > t = linspace(0,2*pi,400); 1 >y= subs(y,t) ; > plot(t,y) 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5
  • 29. M A TL A B C A Ê N B A Û N  Ha ø m : d s o l v e (e q 1 ,e q 2 ,… o n d 1 ,c o n d 2 ,… ) ,c ,v Vôùi solver töông öùng vôùi ode45, ode32, ode113, ode15s, ode23s, ode23t, ode23tb C uù [T,Y] = solver(odefun,tspan,y0) pha ùp y = f ( , y) o d e f u n laø haøm beân veá phaûi cuûa phöông ttrình ' C huù t s p a n laø khoaûng laáy tích phaân [t0 tf] ñeå coù t h íc h ñöôïc nghieäm taïi nhöõng thôøi ñieåm xaùc ñònh. tspan = [t0,t1,...,tf]. Ví du: giaûi phöông trình vi ñieàu kieän ñaàu. y 0 laø vector phaân thöôøng y ' ( t ) + y ( t ) = 1 vôùi y ( 0 ) = 0 0.9 > f=inline(‘1-y’,’t’,’y’) 0.8 > [t, y]= ode45(f, [0 2],0) ; 0.7 > plot(t,y) ; 0.6 0.5 0.4 0.3 0.2 0.1 00 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
  • 30. M A TL A B C A Ê N B A Û N  Ha ø m : d s o l v e (e q 1 ,e q 2 ,… o n d 1 ,c o n d 2 ,… ) ,c ,v Ví du: giaûi phöông trình vi phaân caáp hai && ( t ) + By ( t ) + Ω 2 y ( t ) = A0 sin ( ω t ) y & Ñöa phöông trình vi phaân caáp hai veà heä hai phöông trình vi phaân caáp moät  y1 = y2 &  &y2 = A0 sin ( ωt ) − By2 − Ω 2 y1 > y0=[1 0]; > tspan=[0 3.5]; > B=2.5; OME=150; ome=122; A0=1000; > [t,y]=ode45(‘f’,tspan,y0,[],B,OME,A0,ome) > subplot(2,1,1), plot(t,y(:,1)) > subplot(2,1,2), plot(t,y(:,2)) > %%%%%%%%%%%%%%%%%%%%% > function dy=f(t,y,flag,B,OME,A0,ome) > dy= zeros(2,1) ; > dy(1)=y(2); > dy(2)=-B*y(2)-OME*y(1)+A0*sin(ome*t) ;
  • 31. M A TL A B C A Ê N B A Û N 8 . L a ä p t r ìn h v ô ù i Matlab l a bpheùp laäp trình theo hai hình thöùc: SCRIPTS vaø M a t cho function Laø hình thöùc ñôn giaûn nhaát cuûa M-file, noù khoâng coù thoâng soá vaøo vaø ra. Laø taäp hôïp caùc leänh vaø haøm cuûa Matlab. Taát caû caùc bieán taïo ra trong Scripts ñeàu coù theå söû duïng Scripts sau khi Scripts keát thuùc. ----------------------------------------------------------------- M-file: vidu.m x= 0:0.01:2*pi; y=sin(x); plot(x,y); Laø Scripts tuy nhieân coù theâm ñoái soá vaøo (input arguments) vaø ñoái soá ñaàu ra (output argument). Taát caû caùc bieán hoaït ñoäng trong function moät Workspace rieâng. Bieán trong function chæ laø bieán cuïc boä. ----------------------------------------------------------------- M-file: doido.m function rad = doido(do)
  • 32. M A TL A B C A Ê N B A Û N 8 . L a ä p t r ìn h v ô ù i M a t la b Hình thöùc khai baùo haøm - Töø khoaù function baét buoäc phaûi khai baùo. - Thoâng soá ñaàu ra: neáu coù nhieàu giaù trò traû veà, caùc thoâng soá naøy ñöôïc ñaët trong daáu “[ ]”. Neáu khoâng coù giaù trò traû veà ta coù theå ñeå troáng hay ñeå daáu []. - Teân haøm -Thoâng soá ñaàu vaøo ñöôïc khai baùo trong daáu () - Bieán toaøn cuïc vaø ñòa phöông
  • 33. M A TL A B C A Ê N B A Û N 8 . C a á u truùc ñ i Caáuk i e äñieàu e à u truùc n Toaùn YÙ nghóa kieän: if töû < Nhoû hôn <= Nhoû hôn hoaëc > baèng Lôùn hôn if (bieåu thöùc logic) nhoùm leänh >= Lôùn hôn hoaëc end == baèng nhau Baèng ~= Khoâng baèng if (bieåu thöùc logic) nhoùm leänh 1 else nhoùm leänh 2 end
  • 34. M A TL A B C A Ê N B A Û N 8 . C a á u truùc ñ i e à truùc i e ä n Caáu u k ñieàu kieän: if…end if (bieåu thöùc logic) nhoùm leänh 1 elseif nhoùm leänh 2 B a ø i ta ä p else nhoùm leänh 3 -b ) /n v a ø x i = a +i * h t í n h t í c h p h a â n c u û a h =( a end h a ø m f =c o s ( x ) +s i n ( x ) c h o a =0 , b =p i /3 Giaûi thuaät
  • 35. M A TL A B C A Ê N B A Û N V í d u ï: t a ïo m o ä t m e n u lö 8 . C a á u truùc c h o ïn ñeCaáu truùc ä n kieän: switch … i à u k i e ñieàu f p r in t f ( ' n ' ) ; case f p r in t f ( ' S e le c t a c a s e : n ' ) ; f p r i n t f ( ' ============== n ' ) ; switch (bieåu thöùc ñieàu kieän) f p r in t f ( ' 1 - p i n ' ) ; f p r in t f ( ' 2 - e n ' ) ; case (giaù trò 1 bieåu thöùc) f p r in t f ( ' 3 - i n ' ) ; nhoùm leänh 1 f p r i n t f ( ' ============== n ' ) ; otherwise n = in p u t ( ' ' ) ; s w it c h n nhoùm leänh 2 c ase 1 end d is p ( ' P i = ' ) ; d is p ( p i) ; c ase 2 Ví duï: taïo moät menu löïa choïn d i s p ( ' e = ' ) ; d i s p ( e x p ( 1) ) ; chon = input(‘Nhap vao lua chon cua ban, chon= c ase 3 ’) d is p ( ' i = ' ) ; d is p ( i) ; Switch chon o t h e r w is e case 1 d is p ( ' N o t h in g t o d is p la y ' ) ; e nd disp(‘menu ve do thi ’); S e le c t a c a s e : case 2 ============== disp(‘menu noi suy da thuc ’); 1 - pi 2 - e otherwise 3 - i ============== disp(‘thoat khoi chuong trinh ’); 1 end Pi = 3 . 14 16
  • 36. M A TL A B C A Ê N B A Û N 8 . C a á u t r u ù c la ë p c o ù ñ i e Caáu k i e ä n coù ñieàu kieän:  à u truùc laëp while while (bieåu thöùc ñieàu kieän) nhoùm leänh end Ví duï: yeâu caàu nhaäp vaøo giaù trò cho bieán x. vieäc nhaäp chæ keát thuùc khi x coù giaù döông a= input(‘Nhap vao gia tri a: ’) while a<=0 disp(‘a lon hon khong ’); a= input(‘Nhap vao gia tri a: ’) end B a ø i ta ä p Tính toång cuûa chuoãi:
  • 37. M A TL A B C A Ê N B A Û N 9 . C a á u t r u ù c la ë p  Caáu truùc laëp: for for bieán = bieåu thöùc nhoùm leänh end Ví duï: vieát chöông trình nhaäp vaøo möôøi giaù trò cho bieán A for i = 1 : 10 tb=strcat(‘Nhap gia tri cho A(’,num2str(i),’) = ’); A(i)= input(‘’) end A B a ø i ta ä p h g ia ù t r ò t r u n g b ìn h v a ø ñ o ä le ä c h c h u a å n c u û a d ö õ lie ä u c h ö ù a x n ] ñ ö ô ïc ñ ò n h n g h ó a t h e o c o â n g t h ö ù c s a u
  • 38. P HÖÔNG T R Ì NH V I P HA Â N T HÖÔØNG
  • 39. NOÄ I DUNG: Baøi toaùn giaù trò ñaàu :  V í d u ï ñ ò n h lu a ä t 2 N e w to n  P h ö ô n g p h a ù p E u le r  P h ö ô n g p h a ù p ñ ie å m g iö õ a P höông pha ùp Rung e - Baøi toaùn giaù trò K utta bieân :  P h ö ô n g t r ìn h v i p h a â n c aáp 2 :  P h ö ô n g t r ìn h v i p h a â n c aáp 4
  • 40. Ví duï ñònh l uaät 2 Ne wt o n 1. 1 V í d u ï ñ ò n h l u a ä t 2 N e w t o n :   F = ma Gia toác laø ñaïo haøm baäc 1 cuûa vaän toác theo thôøi gian, do ñoù :  dv  =a vaø dt   dv F = dt m M in h h o ïa : Ñònh luaät 2 Newton cho moät vaät noùng boû vaøo trong moâi tröôøng chaát loûng. Söï thay ñoåi nhieät ñoä theo thôøi gian cuûa vaät ñöôïc moâ taû bôûi phöông trình vi Ts phaân caân baèng naêng löôïng. dT mc = −Q dt
  • 41. Ví duï ñònh l uaät 2 Ne wt o n ù i n h ie ä t n a ê n g d o la ø m la ïn h : Q = hA(Ts − T∞ ) û v a ä t l i e ä u c o ù t í n h c a ù c h n h i e ä t c a o : => T s =T dT dT hA mc = −hA(T − T∞ ) h o a ë c =− (T − T∞ ) dt dt mc V í d u ï 1: dy = −y y (0) = y 0 dt g t r ìn h n a ø y c o ù t h e å t íc h p h a â n t r ö ïc t ie á p : dy y = −dt ln = −t C2 y ln y = -t + C y = C2e-t ln y –lnC2 = -t y = y0e­-t
  • 42. Ví duï ñònh l uaät 2 Ne wt o n T íc h p h a â n s o á c u û a c a ù c p h ö ô n g t r ìn h v i p h a â n C ho : dy = f (t , y ); y (0) = y0 dt á t q u a û c h ín h x a ù c t a ïi g ia ù t r ò t b a á t k ì : t j = t 0 + jh la ø b ö ô ù c t h ô ø i g ia n . G o ïi: y y( t ) = k e á t q u a û c h ín h x a ù c Keát quaû soá taïi t3 f ( t0,y0) = ñoä doác ñoà thò taïi (t0,y0) y( tj ) = k e á t q u a û c h ín h x a ù c t a ïi t j yj = k e á t q u a û g a à n Keát quaû chính xaùc y(t) ñ u ù n g t a ïi t j y0 f( tj , yj ) = k e á t q u a û t g a à n ñuùng c uûa ha øm v e à p h ía p h a û i t a ïi t
  • 43. Phöông phaùp Eul e r C h o h = t 1 – t 0 v a ø ñ ie à u k ie ä n b a n ñ a à u , y = y ( t 0 ) , t ín h : y1 = y 0 + hf (t 0 , y 0 ) y 2 = y1 + hf (t1 , y1 ) ... y j +1 = y j + hf (t j , y j ) Hoaëc y j = y j −1 + hf (t j −1 , y j −1 ) V í d u ï 2 : S ö û d u ïn g p h ö ô n g p h a ù p E u le r ñ e å t ín h dy = t − 2y y(0) = 1 Ke á t qua û dt c h ín h x a ù c la ø : 1 y j = y j −1 + hf (t j −1 , y j −1 ) y = [2t − 1 + 5e −2t ] 4
  • 44. Phöông phaùp Eul e r f (t j −1 , y j −1 ) Euler C.xaùc Sai soá j tj yj=yj+hf(tj-1,yj-1) y(tj) yj-y(tj) 0 0.0 NaN (Ñk ban ñaàu) 1.000 1.000 0 1 0.2 0-(2)(1) = - 2.000 1.0 + (0.2)(-2.0) = 0.60 0.688 -0.0879 2 0.4 0.2 – (2)(0.6) = -1.000 0.6 + (0.2)(-1.0) = 0.40 0.512 -0.1117 3 0.6 0.4 – (2)(0.4) = -0.4 0.4 + (0.2)(- 0.4) = 0.32 0.427 -0.1065 S o s a ùnh vô ùi Ñ o á i vô ùi h ña õ ño à thò : b ie á t , s a i s o á lô ù n nha á t tro ng k e á t q u a û s o á ñ o ù la ø s a i s o á r ô ø i r a ïc t o a ø n c u ïc max (∑ ( y j − y (t j )) ) j
  • 45. Phöông phaùp Eul e r Ñ a ù n h g i a ù s ai s oá : S a i s oá ñòa phöông t a ïi m o ã i b ö ô ù c la ø : ej = yj – y(tj) v ô ù i y ( t j) la ø k e á t q u a û c h ín h x a ù c t a ïi tj G D E = ma x( e j ) j = 1, … G ia û i b a è n g M a t la b : h max(ej ) function [t,y] = odeEuler(diffeq,tn,h,y0)] 0.200 0.1117 0.100 0.0502 t = (0:h:tn)’; 0.050 0.0240 n = length(t); 0.025 0.0117 y = y0 + ones(n , 1); for j = 2 : n y(j) = y(j – 1) + h* feval(diffeq,t(j -1),y(j-1)); end >> rhs = inline(‘cos(t)’,’t’,’y’) ; >> [t,Y] = odeEuler(rhs,2*pi,0.01, 0) ; >> plot(t,Y,’o’) ;
  • 46. Phöông phaùp ñ ie å m g iö õ a Taêng möùc ñoä chính xaùc baèng caùch tính ñoä nghieâng 2 laàn trong moãi böôùc cuûa h: k1 = f (t j , y j ) Tính moät giaù trò cuûa y taïi ñieåm giöõa : f (t j , y j ) h y j +1 / 2 = y j + 2 Ñaùnh giaù laïi ñoä nghieâng h h k 2 = f (t j + , y j + k1 ) 2 2 Tính giaù trò cuoái cuøng cuûa y y j +1 = y j + hk 2
  • 47. Phöông phaùp ñ ie å m g iö õ a yj töø phöông phaùp Euler ñaùnh giaù ñoä doác taïi t +0.5h j -1 keát quaû chính xaùc j -1 y +0.5hk1 taïi y j -1 y töø phöông phaùp ñieåm y j j -1 giöõa 0.5h 0.5h t t j -1 j G ia û i b a è n g M a t la b : function [t,y] = odeMidpt(diffeq,tn,h,y0)] t = (0:h:tn)’; >> rhs = inline(‘cos(t)’,’t’,’y’) ; n = length(t) ; >> [t,Y] = odeEuler(rhs,2*pi,0.01, 0) ; y = y0 + ones(n , 1) ; >> plot(t,Y,’o’) ; h2= h /2 ; for j = 2 : n k1 = feval(diffeq,t(j -1),y(j-1)) ; k2 = feval(diffeq,t(j -1)+h2,y(j-1)+h2*k1) ; y(j) = y(j – 1) + h* k2 ; end
  • 48. Phöông phaùp ñ ie å m g iö õ a So saùnh phöông phaùp Midpoint vôùi phöông phaùp Euler Giaûi: dy = −y y(0) = 1 0≤ ≤ t 1 dt Keát quaû chính xaùc laø : y = e-t h flopeE errE flopeH errH 0.20000 31 4.02e-02 57 2.86e-03 0.10000 61 1.92e-02 112 6.62e-04 0.05000 121 9.39e-03 222 1.59e-04 0.02500 241 4.66e-03 442 3.90e-05 0.01250 481 2.31e-03 882 9.67e-06 0.00625 961 1.15e-03 1762 2.41e-06
  • 49. Phöông phaùp Ru n g e - Ku t t a 4 vò trí öùng vôùi moãi böôùc laëp: k1 = f (t j , y j ) h h k 2 = f (t j + , y j + k1 ) 2 2 h h k 3 = f (t j + , y j + k2 ) 2 2 k 4 = f (t j + h, y j + hk 3 ) Ta tính ñöôïc yj+1 k k k k  y j +1 = y j + h 1 + 2 + 3 + 4  6 3 3 6
  • 50. Phöông phaùp Ru n g e - Ku t t a G ia û i b a è n g M a t la b >> rhs = inline(‘cos(t)’,’t’,’y’) ; function [t,y] = odeRK4(diffeq,tn,h,y0)] >> [t,Y] = odeRK4(rhs,2*pi,0.01, 0) ; t = (0:h:tn)’; >> plot(t,Y,’o’) ; n = length(t) ; a ø m t h ö v ie ä n M a t la b y = y0 + ones(n , 1) ; h2= h /2 ; h3= h /3 ; h6= h /6 ; [t,Y] = ode45(diffep,tn,y0) for j = 2 : n >> rhs = inline(‘cos(t)’,’t’,’y’) ; k1 = feval(diffeq, t(j -1), y(j-1)) ; >> [t,Y] = ode45(rhs,[0 2*pi], 0) ; k2 = feval(diffeq , t(j -1)+h2, y(j-1)+h2*k1 ) ; >> plot(t,Y,’r’,’linewidth’,2) ; k3 = feval(diffeq , t(j -1)+h2, y(j-1)+h2*k2 ) ; k4 = feval(diffeq , t(j -1)+h , y(j-1)+h*k3) ; y(j) = y(j – 1) + h6* (k1+k4) + h3*(k2+k3); end
  • 51. Phöông phaùp Ru n g e - Ku t t a So saùnh E uler, M idpoint vaø R K 4: Giaûi: dy 0 ≤ t ≤1 = −y y(0) = 1 dt h flope errE flopeM errM flope4 err4 E 0.20000 31 4.02e-0 57 2.86e-3 129 5.80e-6 0.10000 61 2 112 6.62e-4 254 3.33e-7 0.05000 121 1.92e-0 222 1.59e-4 504 2.00e-8 0.02500 241 2 442 3.90e-5 1004 1.22e-9 0.01250 481 9.39e-0 882 9.67e-6 2004 7.56e-11 0.00625 961 3 1762 2.41e-6 4004 4.70e-12 4.66e-0 3 S ö û d u ï n g 2.31e-0 c u û a M a t l a b : ha øm Söû duïng ode45 3 C uù phaùp : 1.15e-0 [t,Y] = 3 ode45(diffep,tn,y0) [t,Y] = ode45(diffep,[t0 tn],y0) [t,Y] = ode45(diffep,[t0 tn],y0,options) [t,Y] = ode45(diffep,[t0 tn],y0,options,arg1,arg2,…)
  • 52. Phöông phaùp Ru n g e - Ku t t a Ví d u ï dy y(0) = 0 = cos( t ) dt >> rhs = inline(‘cos(t)’,’t’,’y’) ; >> [t,Y] = ode45(rhs,[0 2*pi], 0) ; >> plot(t,Y,’o’) ;
  • 53. B a ø i t o a ù n g ia ù t r ò b ie â n : P h ö ô n g t r ìn h v i p h a â n c a á p 2 : ÖÙng duïng cho caùc baøi toaùn veà thanh , truyeàn nhieät ,vv… Daïng : ay’’(x)+by’(x)+cy(x)=f(x) 0<x<1 (7.10) Ñ ieàu kieän bieân : a/ y(x=0) = y0 * y(x= L) = y L * b/ y’(x=0) = yo' * y(x= L) = yL * c/ y(x=0) = y0 * y’(x=L) = y 'L * Xaáp xæ (7.10) baèng löôùi ñeàu sai phaân trung taâm∆x o= :h y i +1 − y i −1 1 y i’ = + 0(h2) vôùi O(h2) = - h2fi’’’ ( 7 . 11) 2h 6 y i +1 − 2 f i + y i −1 1 yi’’ = + 0(h2) vôùi 0(h2) = - h2fi’’’ (7.12) h2 12
  • 54. (7.10), (7.11) vaø(7.12) cho ta phöông trình sai phaân  y − 2 y i + y i −1   y − y i −1  a  i +1  + b  i +1  + cyi = f ( x) (7.13)  h2   2h  (2a+ bh)yi+1+(2ch2 - 4a)yi + (2a - bh)yi-1 = 2h2f(x) (7.14) i=1 => (2a + bh)y2 + (2ch2 - 4a)y1 + (2a - bh)yo = 2h2f(x) i=2 => (2a + bh)y3 + (2ch2 - 4a)y2 + (2a - bh)y1 = 2h2f(x) i=3 => (2a + bh)y4 + (2ch2 - 4a)y3 + (2a - bh)y2 = 2h2f(x) i=4 => (2a + bh)y5 + (2ch2 - 4a)y4 + (2a - bh)y3 = 2h2f(x) i=5 => (2a + bh)y6 + (2ch2 - 4a)y5 + (2a - bh)y4 = 2h2f(x)
  • 55. Ñaët : A=2a + bh B=2ch2 - 4a C=2a – bh Ñöa heä 5 phöông trình treân veà daïng ma traän : a/ By1 +Ay2 = 2h2f(x)-Cy0* Cy1+By2+Ay3 = 2h2f(x) Cy2+By3+Ay4 = 2h2f(x) Cy3+By4+Ay5 = 2h2f(x) Cy4+By5 = 2h2f(x)-AyL* Hay dạng ma trận : B A 0 0 0  y1  2h 2 f(x) - Cy 0 *  C B A    2   0 0   y2   2h f(x)  0 C B A 0  y3  = 2h 2 f(x)         y4  2h f(x)  0 0 C B A 2  y5   2  0 0 0  C B   2h f(x) - Ay L *  
  • 56. y2 = y0 b/ y'1 = 2h = y' 0 * (Biết) ⇒ y0=y2 -2hy0’* B A + C 0 0 0  y1  2hCy 0 '* + 2h 2 f(x) C B    2   A 0 0   y2   2h f(x)   = (5) ⇒ 0 C B A 0  y3  2h 2 f(x)      0 0 C B A  y4  2h f(x) 2  0  y5   2   0 0 C B    2h f(x) - Ay L *    y6 − y4 c/ y'5 = 2h = y L '* ⇒ y 6 = y 4 + 2hyL '* B A 0 0 0  y1  2h 2 f(x) - Cy 0 *  C    2   B A 0 0   y2   2h f(x)  0  C B A 0   y3    = 2h 2 f(x)    0 0 C B A  y4  2h f(x) 2  0 0 0 A + C B  y5   2      2h f(x) - 2hAy L '*  
  • 57. • I. P h ö ô n g p h a ù p s o â : C h ia ñ o â i k h o a û n g , N e w t o n -R a p h s o n , D a â y c u n g 1. C h i a ñ o â i k h o a û n g (Bisection Method) (1) : a, b , tol Matlab code. (2) : k = 1,2,.. clear all a+b clc (3) : xm = a=3;b=4;tol=0.0001 2 for k=1:10 ( 4) : f ( x m ) ≠ 0 x=(a+b)/2; if sign(f(x))==sign(f(a)) (5) : f (a). f ( xm ) < 0 a=x; else ( 6) : b = x m b=x; end (7 ) : a = x m if abs(f(x)>tol) break (8) : f ( xm ) ≤ tol end a+b end (9) : xm = function gg=f(x) 2 gg=x-x.^(1/3)-2; (10) : in x
  • 58. 2. Newton-Raphson clear all clc (1) : x0 , tol format long x=10; tol=1e-10; itemax=20; itein=0; ( 2) : k = 1,2,... while abs(f(x))>tol f ( x k −1 ) itein=itein+1; (3) : x k = x k −1 − f ' ( x k −1 ) if itein>itemax break end ( 4) : x k − x k −1 < tol Dx=-f(x)/df(x); (5) : in x sprintf ('itein = %d x= %20.10f f(x) = %20.10f Dx= %20.10fn',... itein,x,f(x),Dx); x=x+Dx; end sprintf ('solution %20.10f, f(x)=… %20.10f n',x, f(x)) %------------------------------------- function q=f(x) q=x-x.^1/3-2; function q=df(x) q=1-1/3*1/(x.^(2/3));
  • 59. 3. Daây cung (Secant Method): clear all (1) : x1 , x2 , tol. clc (2) : k = 2, 3, ... syms x xk − xk −1 (3) : xk +1 = xk − f ( xk ) format long f ( xk ) − f ( xk −1 ) x1=3; (4) : f ( xk ) f ( xk −1 ) < 0 x2=4; (5) : xk −1 = xk +1 tol=1e-6 (6) : xk = xk +1 while abs(f(x2))>tol (7) : f ( xk+1 ) ≤ tol xk=x2-f(x2)*(x2-x1)/(f(x2)-f(x1)); (8) : I n x if f(x1)*f(x2)<0 x2=xk; else x1=xk; end end nghiem=x2 %--------------------------------------- function g=f(x) g=x-x^(1/3)-2;
  • 60. K e á t Qu û a v a ø s o s a ù n h 1. C h i a ñ o â i 1. D a â y c u n g khoa ûng 4 . Ñ o à t h ò f ( x ) =x - x ^ 1/3 - 2 1. N e w t o n - Ra phs on
  • 61. 2. Phöông phaùp giaûi laëp heä phöông trình tuyeán tính a. Conjugate gradient method (CG): x ( 0 ) = 0, r ( 0 ) = b − Ax ( 0 ) , p ( 0 ) = r ( 0 ) clear all clc for k = 1,2,3,….. a=[2 4 7; 4 5 6; 7 6 1]; α (k ) = (r ) (r ) ( k −1 ) T ( k −1 ) Kích thöùôc b=[-1 2 5]'; x=[0 0 0]'; (p ) A (p ) ( k −1 ) T ( k −1 ) böôùc r=b-a*x; x ( k ) = x ( k − 1 ) + α ( k ) p ( k −1 ) Nghieäm xaáp p=r; xi for i=1:10 r ( k ) = r ( k −1 ) − α ( k ) A p ( k −1 ) Thaëng dö alpha=r'*r/(p'*a*p); β (k ) = (r ) (r )(k ) T (k ) Caûi tieán x=x+alpha*p; (r ) (r ) ( k −1 ) T ( k −1 ) r1=r; r1=r1-alpha*a*p; Höôùng tìm beta=r1'*r1/(r'*r); p ( k ) = r ( k ) + β ( k ) p ( k −1 ) nghieäm p=r1+beta*p ; r=r1; end end r
  • 62. b. Preconditioned Conjugate gradient method(PCG): x ( 0 ) = 0, r ( 0 ) = b − Ax ( 0 ) , h ( 0 ) = Cr ( 0 ) , p ( 0 ) = h ( 0 ) clear all for k = 1,2,3,….. clc a=[2 4 7; 4 5 6; 7 6 1]; α (k ) = (r ) (p ) ( k −1) T ( k −1) b=[-1 2 5]'; x=[0 0 0]'; (p ) A (p ) ( k −1) T ( k −1) r=b-a*x; x ( k ) = x ( k −1 ) + α ( k ) p ( k −1 ) h=0.5*r; p=h; r ( k ) = r ( k − 1 ) − α ( k ) A p ( k −1 ) for i=1:10 alpha = r'*p/(p'*a*p); h ( k ) = Cr ( k ) Chænh lyù x = x + alpha*p; β (k ) = (r ) (h ) (k ) T (k ) r1 = r; (r ) (h ) ( k −1 ) T ( k −1) r1= r1-alpha*a*p; h1 = 0.5*r1; p ( k ) = h ( k ) + β ( k ) p ( k −1) beta = r1'*h1/(r'*h); p=h1+beta*p; end r=r1; h=h1; end r1
  • 63. • B . H e ä p h ö ô n g t r ìn h p h i t u y e á n : N e w t o n -R a p h s o n G ia û i t h u a ä t N e w t o n . x (k) a) Choïn nghieäm ñeà nghò vaø soá gia nghieäm ôû böôùc(k) ∆x A x= b , A(n, n) laëp thöù k ñeå: t haëng dö : x ( k +1) = x ( k ) + ∆x ( k ) → f ( x ( k+1) ) = 0 f = A x− b Da ï n g t o å n g q u a ù t b) Khai trieån Taylor haøm f:  f1 ( x1 , x 2 ,....., x n )   0  ( ) ( ) f x ( k +1) = f x ( k ) + ∆x ( k ) f ' ( x ( k ) ) + 0 ∆x ( k )    2        f 2 ( x1 , x 2 ,....., x n )   0   ∂f1 ∂f1 ∂f1    .  ∂x . . . . ∂x 2 ∂x n  f ( x) =  =   1   .  .  ∂f2 ∂f2 . . . ∂f2       ∂x1 ∂x 2 ∂x n  .  .  f ' ( x ) ≡ J( x ) =  . . . . . .   f ( x , x ,....., x )   0     n 1 2 n     . . . . . .   . . . . . .   ∂f ∂fn ∂fn   n . . .   ∂x1  ∂x 2 ∂x n   b) Jacobian haøm f boû ñi soá haïng baäc1)cao fx(( k+ ) = f ( x ) + J( x ( k) ( k) ( k) ) ∆x
  • 64. c) Tìm ∆x (k) töø: f ( x ( k+1) ) = 0 ⇔ J( x ( k) )∆x ( k) = − f ( x ( k) ) x1 + x 2 = 2 x1 x3 + x 2 x 4 = 0 a) Baûy böôùc cho giaûi thuaät: 2 x1 x3 + x 2 x 4 = 2 2 * Ñeà nghò nghieäm ban ñaàu. 3 * Tính giaù trò haøm f. x1 x3 + x 2 x 4 = 0 3 3 f * Kieåm tra chuaån ñuû beù thì döøng. Matlab program * Tính giaù trò Jacobian J. clear all J .∆x = − f * Giaûi clc x ← x + ∆x format long * Caäp nhaät nghieäm x=zeros(4,1); * Trôû veà böôùc 2. x(1)=0.7;x(2)=0.5;x(3)=-0.01; x(4)=0.1; tol=1e-10; itemax=100; itein=0; V í d u ï: f=fnorm(x); while norm(f)>tol Giaûi heä phöông trình phi tuyeán itein=itein+1; sau:
  • 65. if itein>itemax break end jac=jacobian(x); dx=-jacf; x=x+dx; f=fnorm(x); sprintf ('itein = %d x1= %15.10f x2= %15.10f x3= %15.10f… x4= %15.10f residual= %15.10fn',itein,x,norm(f)) end sprintf ('solution %20.10f, f(x)= %20.10fn',x, f(x)) %-------------------------------------------------------------------------- function f=fnorm(x) f=zeros(4,1); f(1)=x(1)+x(2)-2; f(2)=x(1).*x(3)+x(2).*x(4); f(3)=x(1).*x(3).^2+x(2).*x(4).^2-2/3; f(4)=x(1).*x(3).^3+x(2).*x(4).^3; %----------------- function jac=jacobian(x) jac=zeros(4,4); jac(1,1)=1;jac(1,2)=1;jac(1,3)=0;jac(1,4)=0;jac(2,1)=x(3);jac(2,2)=x(4); jac(2,3)=x(1); jac(2,4)=x(2); jac(3,1)=x(3).^2;jac(3,2)=x(4).^2; jac(3,3)=2*x(1).*x(3); jac(3,4)=2*x(2).*x(4);jac(4,1)=x(3).^3; jac(4,2)=x(4).^3;jac(4,3)=3*x(1).*x(3).^2;jac(4,4)=3*x(2).*x(4).^2;
  • 66. Ke á t qua û. ans = itein = 33 x1=1.0000000000 x2=1.0000000000 x3=0.5773502692 x4= -0.5773502692 residual=0.0000000000
  • 67. • I. D u ø n g p h ö ô n g p h a ù p t ín h s o á : • 1. L u a ä t t u y e á n t í n h : m m S xx = ∑ xi xi = 2.08 S x = ∑ xi = 3.2 i =1 i =1 m m S xy = ∑ xi y i = 4.832 S y = ∑ y i = 7.74 i =1 i =1 α= 1 ( S x S y − mS xy ) = 1.8857 d β = ( S x S xy − S xx S y ) = 0.2843 1 d d = S x2 − mS xx = −2.24 duï moøn beà maët segment theo thôøi gian cho baûng döõ lieäu sau: vôùi m = 6. x 0.1 0.4 0.5 0.6 0.7 0.9 y 0.61 0.92 0.99 1.52 1.67 2.03 h ö ô n g t r ìn h c a à n t ìm: = 1.8857x+0.2843 y
  • 68. • 2 . L ua ä t ña thö ùc b a ä c 2 : f ( x) = a 0 + a1 x + a 2 x 2 , m = 6, k = 0,1,2, i = 1,2,...,6  m m   m  a=zeros(3,3);  m ∑x i ∑x  2 i  ∑ yi  b=zeros(3,1); m i =1 i =1  a 0   m=1 i   x m m    a(1,1)=6;  xi3  a1  =  ∑ xi y i  ∑ i ∑ xi2 ∑  a(1,2)=s1;  a 2   m  i =1 i =1 i =1 i =1 m    a(1,3)=s2; m m ∑ xi2   i =1  ∑ xi3 i =1 ∑ xi4  i =1    ∑ xi y i   i =1 2 a(2,1)=s1;  P h ö ô n g t r ìn h c a à n t ìm: a(2,2)=s2; a(2,3)=s3; y=0.485 + 0.7845x + 1.1152x2 a(3,1)=s2; a(3,2)=s3; Matlab program a(3,3)=s4; Clear all clc b(1,1)=s5; x=[0.1 0.4 0.5 0.6 0.7 0.9]; b(2,1)=s6; y=[0.61 0.92 0.99 1.52 1.67 2.03]; b(3,1)=s7; s1=0;s2=0;s3=0;s4=0;s5=0;s6=0;s7=0; c=LU(a,b); for i=1:6 % goïi haøm LU ñaõ thöïc hieän ôû s1=s1+x(i);s2=s2+(x(i))^2; %chöông tröôùc ñeå giaûi nghieäm s3=s3+(x(i))^3;s4=s4+(x(i))^4; %giaûi baèng Matlab: s5=s5+y(i);s6=s6+x(i)*y(i); c0=0.485; c1=0.7845; c2=1.1152; s7=s7+x(i)^2*y(i); end
  • 69. y=0.485 + 0.7845x + 1.1152x2 • 3 . L u a ä t p h i tu ye á n : y = c1e c2 x → ln y = αx + β y = c1 x c2 → ln y = α ln x + β y = c1 xe c2 x → ln( y / x ) = αx + β
  • 70. i s u y t h e o lu a ä t h a ø m lu y õ t h ö ø a Matlab program suv=suv+xx(i)*yy(i); clear all end clc d=su^2-6*suu; x=[0.1 0.4 0.5 0.6 0.7 0.9]; c2=(su*sv-6*suv)/d y=[0.61 0.92 0.99 1.52 1.67 2.03]; b=(su*suv-suu*sv)/d %============================ c1=exp(b) % Baûng soá lieäu ño ñaïc %============================ y = 1.8311 x0.5227 xx=[]; yy=[]; for i=1:6 xx=[xx log(x(i))]; yy=[yy log(y(i))]; end su=0; suu=0; sv=0; suv=0; for i=1:6 su=su+xx(i); suu=suu+(xx(i)^2); sv=sv+yy(i);
  • 71. N o ä i s u y t h e o lu a ä t t o å h ô ïp f ( x ) = c1 f1 ( x ) + c2 f2 ( x ) + .... + cn fn ( x ) n f ( x) = ∑ ci f i ( x) function b=f2(x) i =1 b=x; P h ö ô n g t r ìn h c a à n t ìm: function a=f1(x) 0.0365 a=1/x; y= + 2.2177 x x 0.0365 Matlab program y= + 2.2177 x x clear all clc x=[0.1 0.4 0.5 0.6 0.7 0.9]; y=[0.61 0.92 0.99 1.52 1.67 2.03]; A=zeros(6,2); B=zeros(6,1); for i=1:6 A(i,1)=f1(x(i)); A(i,2)=f2(x(i)); B(i,1)=y(i); end c=(A'*A)(A'*B)
  • 72. u y t h e o lu a ä t ñ a t h ö ù c d ö ïa t r e â n k h a i t r ie å n T a y lo r n −1 α ρ max u a ä t ñ a t h ö ùyc= a n x + a n −1 x + .... + a1 x + a 0 n 1.0 0.098158 1.5 0.075798 y1 = a n x1n + a n −1 x1n −1 + .... + a1 x1 + a 0 1.8 0.066604 y 2 = a n x 2 + a n −1 x 2 −1 + .... + a1 x 2 + a 0 n n 2.0 0.049851 3.0 0.046624 . 3.5 0.041890 . 4.5 0.034597 α ρ max y n = a n x + a n −1 x n −1 + .... + a1 x n + a 0 n n n a ) L u a ä t P a r a b ocl x 2 + c2 x + c3 1  x1n x1n −1 ... x1 1  a n   y1   n      c1  x2 x2n −1 ... x 2 1  a n −1   y 2  b ) L u a ä t t o å h ô ï p t u y e á n t í n h 2 x +c ⇒ . . . . .  .  =  .  x        . . . . .  .   .  x n      n x n −1 ... x n 1  a 0   y n  n  Ví d uï Baûng döõ lieäu ño ñaïc :
  • 73. Matlab programclear all clc alpha=[1 1.5 1.8 2.0 3.0 3.5 4.5]'; rho= [0.098158 0.075798 0.066604 0.049851 0.046624 0.04189 0.0346]'; % luaät parabol qua 7 ñieåm: c1x^2+c2x+c3 A=[alpha.^2 alpha ones(size(alpha))]; disp(A'*A) disp(A'*rho) c =(A'*A)(A'*rho) % veõ ñoà thò xfit=linspace(min(alpha),max(alpha)); yfit1=c(1)*xfit.^2+c(2)*xfit+c(3); % luaät c1/x+c2x A=[1./alpha alpha]; c=(A'*A)(A'*rho); xfit=linspace(min(alpha),max(alpha)); yfit2=c(1)./xfit+c(2)*xfit; plot(alpha,rho,'o',xfit,yfit1,'r',xfit,yfit2,'c') xlabel('alpha') ylabel('rho') title(‘rho=f(alpha)') legend(‘ döõ lieäu ño ñaïc','luaät parabol',luaät toå hôïp') grid on
  • 74. • II. D u ø n g t íc h p h a â n s o á : f(x) • 1. L u a ä t h ì n h t h a n g Eh y ( T r a p z o id a l R u le ) : xi h ∫ xi −1 f ( x)dx ≈ i ( f ( xi −1 ) + f ( xi )) 2 h  f ( x0 ) + 2 f ( x1 ) + 2 f ( x 2 ) + .....  x I trap =  +E 2  + 2 f ( x n −1 ) + f ( x n )    x0 = a x1 x2 …. Xn-1 x =b n b−a h= , x i = a + i * h, x 0 = a , x n = b N h I trap = ( f 0 + 2 f1 + 2 f 2 + ..... + 2 f n−1 + f n ) + E 2 1 (b − a) 3 N xi −1 + xi +1 E≈− 12 N 3 ∑f i =1 '' ( xi ), xi = 2 Ví d uï 2 2   x 2  2 Tính tích phân: S = ∫ f ( x)dx = ∫ π 1 +    dx  2  0 0  
  • 75. Ke á t quûa : Matlab program N h S h E h 2 1. 12.7627 -1.0341 clear all 4 0.5 11.9895 -0.2609 clc 8 0.25 11.7940 -0.0654 N=16; 16 0.125 11.7449 -0.0163 32 0.0625 11.7326 -0.0040 a=0; 64 0.03125 11.7296 -0.0010 b=2; h=(b-a)/N; • 2 . L u a ä t S i m p s o n 1/3 S=0; ( S im p s o n R u le ) : for i=0:N b h x=a+i*h; S = ∫ f ( x )dx = [ f (a) + 4 f ( x ) + f (b )] + E a 3 if i==0 | i==N b−a a+b c=1; x 0 = a, x 2 = b, h = , x= 2 2 else b h S = ∫ f ( x )dx = [ f 0 + 4 f 1 + f 2 ] + E c=2; a 3 end h N −1 N −2  S simp =  f (a ) + 4∑ f (a + ih) + 2 ∑ f (a + ih) + f (b) + E S=S+c*pi*(1+(x/2).^2).^2; 3 i =1 i =2  end h  f ( x 0 ) + 4 f ( x1 ) + 2 f ( x 2 ) + 4 f ( x3 ) +  S=h*S/2 S simp =  +E 3  ..... + 4 f ( x n −1 ) + f ( x n )    N h 5 '''' N xi −1 + xi +1 E≈− f , f '''' = ∑ f '''' ( x i ) / N , xi = 2 90 i =1 2
  • 76. Matlab program Ke á t quûa : clear all N h Sh Eh clc 2 1. 11.7809 -0.0523 N=16; 4 0.5 11.7318 -0.0032 a=0; 8 0.25 11.7288 -0.0002 b=2; 16 0.125 11.7286 -0.0000 32 0.0625 11.7286 -0.0000 h=(b-a)/N; 64 0.03125 11.7286 -0.0000 S=0; for i=0:N G ia ù t r ò t íc h x=a+i*h; p h a 1.32 ân 5 if i==0 | i==N 1.32 c=1; 1.31 5 elseif i==fix(i/2)*2+1 1.31 c=4; 1.30 Luaät Simpson else 5 Chính c=2; 1.3 xaùc end 1.29 5 Luaät hình thang S=S+c*pi*(1+(x/2).^2).^2; 1.29 end 0 10 20 30 40 50 Soá phaân S=h*S/3 ñoaïn
  • 77. S ai s oá phöô ng pha ùp:
  • 78. . T íc h p h a â n G a u s s ( G a u s s q u a d r a t u r e ) : 1 I = ∫ f ( x) dx ≈ w1 f ( x1 ) + w2 f ( x 2 ) +  + wn f ( x n ) −1 1 V í d u ï: I = ∫ (0.2 + 25 x − 200 x 2 + 675 x 3 − 900 x 4 + 400 x 5 ) dx −1 Matlab program clear all clc format long x1=-0.861136; x2=-0.339981; x3=0.339981; x4=0.861136; Tính vôùi 4 ñieåm % ------troïng soá------------------------------------ Gauss: w1=0.347855; w2=0.652145; w3=0.652145; w4=0.347855; f1=w1*gauss1(x1); f2=w2*gauss1(x2); f3=w3*gauss1(x3); f4=w4*gauss1(x4); m=f1+f2+f3+f4 %-------------------------------------------------------------------- function ff=gauss1(x) ff=400*x^5-900*x^4+675*x^3-200*x^2+25*x+0.2; keát quaû: I=-4.929329328775451e+002
  • 79. f u n c t io n [ K e , f e ] =b e a m 2 e ( e x , e y , e p , e q ) ; M A TL A B - F E M % ------------------------------------------------- -------------------- % IN P U T : a ø i ta ä p 3 .4 % e x = [x1 x2 ] E d =e x t r a c t ( %d o f , a ) ; e y = [ y 1 y 2 ] E e le m e n t r a ll; c lc ; c lo s e a ll [ e s 1, e d i 1, e c n1] d e e c o o2 d (i n a t e s: ) , E y ( 1, : ) , e p , E d ( 1, : ) , E q ( 1, i o =b a m r s E x ( 1, o o ff % [ e s 2 , e d i 2 , e c i 2 ] =b e a m 2 s ( E x ( 2 , : ) , E y ( 2 , : ) , e p , E d ( 2 , : ) , E q - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % - - - - - - - - - - - - - - -%- - - - - - - - - - - e-p - -= -[-E - - - - I ]- - - -e - - -m - - - -t - - - - - -- - - - --- - - - - - A - - le -- e n - o f =[ 1 1 2 3 4 5 6 ; p r o p e r t ie s 2 4 5 6 7 8 9 ]; % E : Yo u n g ' s - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -m o-d-u l u s --- - - e ros (9 ); f =z e r o s ( 9 , 1) ; f ( 8 ) =- 8 8 . 9 /2 ; % A: C ro s s - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -s - - - - t -o n a r e a - e c -i . 9 ; t w =0 . 3 15 ; b f =6 . 0 15 ; t f =0 . 5 2 5 ; % I: M o m e n t o f * t f * b f +t w * ( h - 2 * t f ) ; in e r t ia 5 e - 2 ; E =2 . 1e 8 ; L =6 . 1; % E A I] ; % e q = [ q x q y ] d is t r ib u t e d =[ 0 L; lo a d s , lo c a l d ir e c t io n s L 3 * L /2 ] ; % z e ro s ( 2 ,2 ) ; % O U T P U T : K e : e le m e n t s t if f n e s s =z e r o s ( 2 , 2 ) ; m a t r ix ( 6 x 6 ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%- - - - - - - f e : e le m e n t lo a d =1: 2 v e c t o r ( 6 x 1) %, - - - - - - - - - - -m - - - - - - - x-(-i-,- - - - - y-( -i- - ) , e-p -)-;- - - - - - -% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - e f e ] =b e a -- 2 e ( E - :) , E - , : --- - - ,-f-]-=a- s -s - - - ( E d o f ( i , : ) , K , K e , f , f e ) ; -- - - e m ------------ b c =[ 1 0 ; 2 0 ; 4 0 ; 5 0 ; 7 0 ; 9 0 ] ; b =[ e x ( 2 ) - e x ( 1) ; e y ( 2 ) - e y ( 1) ] ; a =s o l v e q ( K , f , b c ) ; L =s q r t ( b ' * b ) ; n =b /L ; % ------------------------------------------------- ------------