238878905 metodo de runge kutta de 3er orden en matlab

Upload: alex-paucar-mateo

Post on 05-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 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