238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

download 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

of 11

Transcript of 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    1/11

    25.10 Solucione n

    f

    ormanumrica el

    poblema

    siguienle,

    de t

    =

    o a3i

    dy

    dt

    Utilice

    el

    mtodo

    de n(

    ['orma analtica:

    =-y+

    y(0)=

    1

    de

    tercer

    ordera,

    con un tamao de

    paso

    de o. 5.

    *=

    -t*r

    dy=(-y+tz).rt

    bt-tz)dt+dy=o

    M=y-t,

    u

    =

    r;i=

    o

    dM dN

    dy

    dt

    Factor integraDte

    dM dN

    dlnu

    dy dt

    dt

    dlnu

    N

    1-O

    dtt

    dlnu

    =

    dt

    I

    or--=l o,

    JJ

    lnu

    =

    tlne

    Multiplicamos

    por

    el factor

    iDtegrante:

    l(y

    -

    tz).rt

    +

    dy

    =

    ol* et

    btet

    -

    t2

    et).rt

    +

    etd.y

    =

    o

    Pilligua Menndez

    I-ider Eduardo

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    2/11

    dN

    dt

    *

    2tdt

    I

    o..

    J

    t

    dt

    dM

    dy

    Io"=

    u

    du

    ye'-

    t"e'i-= e'

    ",,#

    =

    "

    oJ=

    "

    -

    rz.

    dl=.r

    rlr

    '

    dy

    .rf

    dy

    I

    or=l

    o"

    J J'

    F=yet+7:(t)

    df

    da-:-

    =

    yet

    +'r'(t)

    =

    Mf

    (x,y)

    yet

    +

    7:'(t)

    =

    yet

    -

    t2et

    dT

    dt

    I

    ar=-l t'at

    JJ

    Integracin

    por parte

    r=-tze,+zlte,t

    Integracin

    por parte

    I-ider Eduardo

    illigua Menndez

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    3/11

    Io"=

    [*o,

    T

    =

    -tzer

    +zte'-zl

    e'at

    ,J

    T=-tzer+Zter-zet+c

    -yer

    =

    -tzer

    +

    Zter

    -zer

    +

    C

    Condicin

    iricial:

    Y(o)

    =

    r

    -(t)eo

    = -(o)zeo

    +

    z(o)eo

    -zeo

    +

    c

    -yer

    =

    -tzer

    +

    Zter

    -zer

    +a

    yer

    =

    tzer

    -zter

    +zer

    -

    l

    Y=t'-zt+2-"'

    Verifica

    el esultado en MATLAB :

    >>

    y

    =

    dsolve

    (

    'Dy=-y+r"2'

    ,

    'y

    (0

    )

    =1'

    ,

    'r'

    )

    t^2

    -

    exp(-t)

    -2*L+2

    Para

    oncontrar

    las

    soluciones verdaderas

    en MATLAB

    >>

    format long

    >>

    syms t

    >>

    y

    =

    L"2-2*L+2-exp

    (-t)

    ;

    >>

    t=1nl1ne

    (y)

    ;

    Resuftados:

    >>

    r(0)

    1

    >>

    r(0.5)

    Pilligua Menndez Lide Eduardo

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    4/11

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    5/11

    Para

    graficar

    en MATLAB:

    >>

    syms

    t

    >>

    fplot('t"2-2*t+2-exp(-t)

    ',

    t0

    31,'r')

    >>

    qrid

    on

    RK de

    tercer orden

    Cor

    f(o,1)

    K1=

    f

    (xi,Yi\

    f(o,t\=-r+02

    Kt=

    -a

    ,11\

    Kz=

    f

    \x+rh,yt+rK)

    ,1

    1

    Kz

    r(o

    +ito.sl,r +it-rlto.sl)

    K2

    =

    f

    (o.25,O.7

    5\

    f

    (o.zs,o.

    7 s\

    =

    -o.

    7 s

    +

    (o.zs\2

    Kz

    =

    -O.6A75

    Kz=

    f(x

    +

    h,yi

    -

    K1h+ZKzh\

    (3

    =

    f(o

    +

    o.

    s,1-

    (-1Xo.s)

    +

    2(-o.687sxo.s))

    ['orma numricr:

    Pilligua Menndez Lide Eduardo

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    6/11

    (3

    =

    f(o.

    5, o.812 5)

    f(o.

    5, o.8125)

    =

    -o.

    8125

    +

    (o.

    s)'z

    K:

    =

    -O.5625

    1

    yr*,

    =

    y

    *

    (Kt

    +

    4K2

    +

    K3)h

    yos

    =

    t

    +:Ct +

    4(-o.6s7s)

    +

    (-o.

    s6zs))(o. s)

    Yos

    =

    o.640625

    Con

    f(O.

    5, O.

    64062

    5)

    Kt

    =

    f

    (x,y)

    f

    (o.

    5,

    o.

    640625)

    =

    -o.

    640625

    +

    (o.

    s)'z

    Kt

    =

    -O.39O625

    x,=

    f

    (,,+f,n,t,+f,x,n)

    x,

    =

    (o.s

    +f,o.s),o.64o62s +;l_o.3e06zs)(o.

    s))

    K2

    = f

    (o.

    7

    s,

    o.

    s429

    6A7

    S

    )

    f

    (o.

    7

    s, o.

    s429687

    S

    )

    =

    -O.

    5429687

    5

    +

    (O.

    75)'z

    Kz

    =

    0.01953125

    Kz=

    f(x

    +

    h,yi

    -

    K1h+2Kzh)

    h

    =

    f(o

    S+0.5,0.640625

    (

    0.390625)(0.5)+2(0.01953125)(0.5))

    (1

    =

    f(1,

    o.

    85546875)

    f(1,

    o.

    85546875)

    =

    -o.

    85546875

    +

    (1)'z

    K3

    =

    o.14453125

    1

    yr*,

    =

    y

    *

    (Kt

    +

    4Kz

    +

    K3)h

    1

    yl

    =

    o.640625

    +;(

    0.390625

    +a(0.01953125) +

    (0.14453125))(0.5)

    y1

    =

    O.6266276lJ42

    Pilligua Menndez Lider Eduado

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    7/11

    Coa

    f

    (1-,

    o.

    626627

    60

    42)

    Kt

    =

    f

    (x,y)

    f

    (1,

    o. 626627 6042)

    =

    -o.

    626627 60

    42

    +

    (r)2

    K1

    =

    0.373372395A

    x,=

    f

    (,,+f,n,t,+f,x,n)

    x,

    =

    (r

    +lro.

    sl,o.6266276r,42

    *

    |io.

    r rrr

    rrrr ru)io. ,))

    K2

    =

    f

    (1.2

    s,

    o. 7199

    7 07

    O32

    )

    f

    (1.

    2 S, o. 7 199

    7

    07

    o32

    )

    =

    -o.

    7 199

    7

    07 o32

    +

    (1.

    2

    S)2

    Kz

    =

    O.A42529296A

    Kz=

    f(x

    +

    h,yi

    -

    K1h+2Kzh)

    &=

    (7

    +

    O.5,O.626627

    6042

    (O.37

    337239 58)

    (0.

    5)

    +

    2

    (0.

    842

    5292968)(0.

    5

    K3

    =

    f(1.

    s,1.2a247o7o3)

    f

    (1.

    S, 1.

    282470703)

    =

    -1.

    2s2470703

    +

    (1.

    5)'z

    K3

    =

    0.967

    529297

    1

    yr*,

    =

    y

    *

    ;(Kt

    +

    4Kz

    +

    K3)h

    y

    I

    s

    o.h2hh27ho42,

    If

    o.rrrrrrrr5s

    I

    4(0.842s292968)

    I

    (0.967s29297))(0.s)

    Y1s

    =

    l.Ol92l25ll

    Coa

    f

    (1.

    S, t.

    019212 511)

    Kt

    = f

    (x,y)

    f(1.

    S, t.otgztzstt)

    =

    -1..ot92t2st1

    +

    (1.s)'z

    K1

    =

    1.23lJ747449

    x,=

    f

    (,,*f,o,",*f,*,o)

    x,

    =

    (r.s

    +

    f,o.

    s),t.o:.sz:rzs:.:.

    +L(1.

    z3o7s74se)

    (o.

    s))

    K2

    =

    f(1.7

    s,1.3269O93A3

    )

    Pilligua Menndez Lider Eduado

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    8/11

    f

    (1.

    7

    S, 1. 3269093s3

    )

    =

    -r.

    326909383

    +

    (1.

    75)'z

    Kz

    =

    1.735590617

    Kz=

    f(x

    +

    h,yi

    -

    K1h+2Kzh)

    I(3

    =

    f

    (1.

    5

    +

    0.

    5,

    1. 01

    s272

    577

    (7.2307

    A7489)(0. 5)

    +

    2(1. 735590617)(0.

    5

    K1

    =

    f

    (2,2.

    139

    4O93A4)

    f

    (2,

    2. 139 409384)

    =

    -2.

    139 409384

    +

    (2)2

    (3

    =

    1.460590616

    1

    yr*,

    =

    y

    *

    (Kt

    +

    4K2

    +

    K3)h

    1.

    yz

    =

    7.O7s272577

    +

    -i(7.nO7A7

    4As

    +

    4(7.735590617)

    +

    (1.860590616(0.

    5)

    /z

    =

    1.4553

    57559

    Con

    f(2,1.

    8553 57559)

    Kt

    =

    f

    (x,y)

    f(2,1.

    855357559)

    =

    -1.855357559

    +

    (z)'z

    K1

    = 2.144642441

    x,=

    f

    (,,+ n,t,+ x,n)

    x,=

    (z

    +Lo.

    s,1.

    ass3

    sTsse

    *Lr.rnnun

    nnrlo. s)

    K2

    =

    f(2.25,2.39151A169

    )

    f

    (2.

    2 S, 2. 39 tststg

    )

    =

    -2.

    39

    rsrs,.g

    +

    (2.

    2 S)2

    Kz

    =

    2.67lJ9AlA3l

    Kz=

    f(x

    +

    h,yi

    -

    K1h+2Kzh)

    &= (2

    +

    o.5,7.855357

    SSs

    (2.744642441)(0.

    5)

    +

    2(2.670981831)(0.5))

    K3

    =

    f(2.5,3.4S4OtAt7)

    f(2.5,3.4s4otst7)

    =

    -3.4S4o,.st7

    +

    (2.

    S)2

    K3

    =

    2.7959a1a3

    Pilligua Menndez Lider Eduado

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    9/11

    1

    yr*,

    =

    y

    *

    (Kt

    +

    4K2

    +

    K3)h

    1.

    yzs

    =

    7.ass3s7

    sss

    +;(2.744642447 +

    4(2.67

    osa7a37)

    +

    (2.7ss98183 (0.

    5)

    lzs

    =

    3.1574O3525

    Coa

    f

    (2.

    5,3.

    1.57

    4o3 Sz

    S)

    Kt

    =

    f

    (x,y)

    f

    (2.

    5,3.

    tS7 403525)

    =

    -3.

    157403525

    +

    (2.

    s)'z

    K1

    =

    3.092596475

    x,=

    f

    (,,+f,n,t,+f,x,n)

    x,

    =

    (2.

    z

    s

    +

    L

    o.

    s), 3.

    1s7403szs

    +

    1ir.

    orrsrunrs;o.

    s;)

    K2

    =

    f(2.7

    5,3.930552644

    )

    f

    (2.

    7

    S, 3.930552644

    )

    =

    -3.

    930552

    644

    +

    (2.

    7

    5)2

    Kz

    =

    3.631947356

    Kz=

    f(x

    +

    h,yi

    -

    K1h+2Kzh)

    Kr=

    (2.5

    +

    o.5,3.7574o3525

    (3.os25s647

    5)(0. 5)

    +

    2(3.631947356X0.5

    K1

    =

    f

    (3,

    5.2 43O

    526

    4 4)

    f

    (3,

    5.

    243052644)

    =

    -

    S. 243052644

    +

    (3)2

    K3

    =

    3.7 56947356

    1

    yr*,

    =

    y

    *

    ;(Kt

    +

    4Kz

    +

    K3)h

    1.

    yz

    =

    3.7s7aBszs

    +

    i(3.os2ss647

    s

    +

    4(3.637s47 3s6)

    +

    (3.7

    s6s473

    56(0.5)

    y3

    =

    4.934447963

    Pilligua Menndez Lider Eduado

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    10/11

    Tabla de resultados con su error verdadero

    Programacin

    en

    MATLAB

    :Mtodo

    Runge Kutta de

    3er orden

    clf

    v:1;

    t:0;

    h:0.5;

    iter=

    (tma

    t)

    /h;

    ".Clcuto

    de las constantes de Runge kutta

    r1:

    y +lt^2);

    K2:

    ly+

    lKt/2)

    a]n)

    +

    lt+

    ltr) / 12) ) ^2;

    K3:

    (y (K1*h)+ (2*K2rh)

    )+

    (t+h)

    ^2;

    y=y+

    (

    (Kl+

    (4

    *K2

    )

    +K3)

    /6)

    rh;

    vectory=[vectory,y];

    vectort=[vectort,t];

    subplot

    (1.1.1)

    ;

    t

    v

    Eo

    o

    7

    Oo/

    o.s

    o.6411625

    o.

    442lJ31943

    40/

    7

    o_ 6266276l)42

    o.46497262740/

    1.

    S

    7.O79272577

    o.74569614910/

    2 1. ass3

    s7ss9

    o.499133lJ4410/

    2.5 3.7574ll3525

    o.331A105559%

    3

    4_934447963

    o.2295A544990/

    Pilligua Menndez Lider Eduado

  • 7/21/2019 238878905 Metodo de Runge Kutta de 3er Orden en MATLAB

    11/11

    plot

    (wectort.

    wectoty,

    '

    r

    *')i

    title('Mtodo Runge kutta Tercer orden')

    xlabel

    ('valores

    t');

    ylabel ('valores y')

    ;

    ResItrdos

    cr

    MATI,AB

    1.000000000000000

    o

    .

    626627 604766667

    1

    .

    855357558638961

    4

    -

    934447963027503

    o

    -

    640625000000000

    1- O192

    .2

    510a50

    694

    3 _

    157O3525011039

    0

    1.000000000000000

    2.000000000000000

    3

    -

    OOOOOOOOOOOOOOO

    0. 500000000000000

    I

    -

    500000000000000

    2 _ 500000000000000

    Grlico

    de

    la

    progrrmacin:

    Pilligua Menndez Lide Eduardo