diferenciacion numerica

16
Hidráulica Computacional (Aplicaciones con MATLAB) Diferenciación Numérica Jesús Abel Mejía Marcacuzco, Ph.D. Lima - Perú Universidad Nacional Agraria La Molina Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos

Upload: oscar-leyva

Post on 10-Sep-2015

71 views

Category:

Documents


0 download

DESCRIPTION

ngcfh

TRANSCRIPT

  • Hidrulica Computacional

    (Aplicaciones con MATLAB)

    Diferenciacin

    Numrica

    Jess Abel Meja Marcacuzco, Ph.D.

    Lima - Per

    Universidad Nacional Agraria La Molina

    Facultad de Ingeniera Agrcola

    Departamento de Recursos Hdricos

  • DIFERENCIACIN NUMRICA

    La diferenciacin numrica, o aproximacin por diferencias

    se utiliza para evaluar las derivadas de una funcin por

    medio de sus valores dados en los puntos de una curva. Las

    aproximaciones por diferencias son importantes en la

    solucin de ecuaciones diferenciales ordinarias y parciales.

    Para ilustrar la diferenciacin numrica, consideremos una

    funcin f(x) en x = x0 (ver figura). Supongamos que se desea

    evaluar la primera derivada de f(x) en x = x0. Si se conocen

    los valores de f en x0 h, x0 y x0 + h, donde h es el tamaodel intervalo entre dos puntos consecutivos en el eje x,

    entonces se puede aproximar f(x0) mediante el gradiente dela interpolacin lineal A, B o C aproximaciones por

    diferencias hacia delante (progresiva), hacia atrs

    (regresiva) y central.

  • x0x0-h

    f(xo)

    B: regresiva

    x

    ff(x)

    x0+hx0

    f(xo)

    A: progresiva

    x

    f f(x)

    x0+hx0-h

    f(xo)

    C: central

    x

    ff(x)

    x0

    Aproximacin por diferencia progresiva:

    h

    xfhxfxf 000)(

    Aproximacin por diferencia regresiva:

    h

    hxfxfxf

    000)(

    Aproximacin por diferencia central:

    h

    hxfhxfxf

    2

    000

    ,

  • Mtodos para obtener Frmulas de Diferenciacin Numrica

    Mtodo Ventajas Desventajas

    Desarrollo de

    Taylor

    Operador de

    diferencias

    Derivacin de

    un polinomio de

    interpolacin

    Los trminos de error se

    obtienen en forma explcita. Se

    puede aplicar a retculas no

    uniformes.

    Bastante similaridad entre las

    derivadas y las aproximaciones

    por diferencias.

    Se puede obtener, en forma

    sistemtica, muchas frmulas

    de aproximacin por diferencias.

    Solo se puede obtener

    una frmula a la vez.

    Necesita del desarrollo

    de Taylor para analizar

    el error.

    Difcil de aplicar en

    retcula no uniformes

  • Aproximaciones de Primeras Derivadas por Diferencias

    Cuando una funcin se representa numricamente en puntos

    discretos, esta se aproxima mediante la interpolacin. De la

    misma forma que la integracin numrica, se pueden obtener

    frmulas de diferenciacin numrica al diferenciar las

    frmulas de interpolacin.

    Las frmulas de diferenciacin numrica mediante el

    desarrollo de Taylor es equivalente a la diferenciacin de

    una interpolacin y conduce a los mismos resultados.

    Para una derivada de orden n, el mnimo nmero de datos

    necesarios para obtener una aproximacin por diferencias es

    n+1. As, una aproximacin por diferencias para la primera

    derivada de una funcin necesita al menos dos puntos.

  • Aproximacin por diferencias hacia adelante: se obtiene

    desarrollando la serie de Taylor para fi+1 alrededor de xi:

    ...2462

    ''''4

    '''3

    ''2

    '

    1 iiiiii fh

    fh

    fh

    hfff

    Al despejar fi en la ecuacin anterior se obtiene:

    ...6

    1

    2

    1 '''2''1'

    iiii

    i fhhfh

    fff

    Si truncamos despus del primer trmino, se obtiene la

    ecuacin de aproximacin por diferencias hacia adelante. Los

    trminos truncados conforman el error de truncamiento O(h).

    )(1' hOh

    fff iii

    ''

    2

    1)( ihfhO

  • Aproximacin por diferencias hacia atrs: de la primera

    derivada, utilizando fi-1 se obtiene de manera similar:

    ...2462

    ''''4

    '''3

    ''2

    '

    1 iiiiii fh

    fh

    fh

    hfff

    Al despejar fi en la ecuacin anterior se obtiene:

    Aproximacin por diferencias centrales: se puede obtener

    mediante el desarrollo de Taylor de fi+1 y fi-1 ya dados en las

    ecuaciones anteriores. Restando estas ecuaciones y

    despejando fi, se obtiene:

    )(2

    211' hOh

    fff iii

    '''22

    6

    1)( ifhhO

    )(1' hOh

    fff iii

    ''

    2

    1)( ihfhO

  • Aproximacin por diferencias con tres puntos:

    Si se utilizan ms datos, se puede obtener una aproximacin por diferencias

    ms exacta, tal que el trmino del error es el del mximo orden posible.

    Como ilustracin obtendremos una aproximacin por diferencias de fiutilizando fi+1 y fi+2 . Puesto que el nmero mnimo de datos necesarios para

    f es dos, tenemos un dato ms que el mnimo. Los desarrollos de fi+1 y fi+2 yse escriben como:

    ...2462

    ''''4

    '''3

    ''2

    '

    1 iiiiii fh

    fh

    fh

    hfff

    ...24

    166

    82

    42 ''''4

    '''3

    ''2

    '

    2 iiiiii fh

    fh

    fh

    hfff

    Aproximacin por diferencias hacia delante con tres puntos: se obtiene

    restando estas ecuaciones y despejando fi:

    212'2

    34hO

    h

    ffff iiii

    '''22

    3

    1ifhhO

  • Anlogamente, la aproximacin por diferencias hacia atrs

    con tres puntos se puede obtener utilizando fi, fi-1 y fi-2 como:

    Ejemplo:

    Calcule la primera derivada de tan(x) en x = 1 mediante las

    cinco aproximaciones por diferencias obtenidas en esta

    seccin, utilizando h = 0.1 , 0.05 y 0.02. Evale despus el

    porcentaje de error de cada aproximacin comparndolo con

    el valor exacto.

    Solucin:

    Sustituimos fi = f(1+ih)=tan(1+ih) en las ecuaciones

    anteriores y obtenemos los siguientes resultados:

    221'2

    43hO

    h

    ffff iiii

    '''22

    3

    1ifhhO

  • h = 0.1 h = 0.05 h = 0.02

    [tan(1) tan(1-h)]/h 2.9724 3.1805 3.3224(13.2) (7.1) (3.0)

    [tan(1+h)-tan(1)]/h 4.0735 3.7181 3.5361

    (-18.9) (-8.5) (-3.2)

    [tan(1+h)-tan(1-h)]/2h 3.5230 3.4493 3.4293

    (-2.8) (-.0.69) (-0.11)

    [3tan(1)-4tan(1-h)+tan(1-2h)]/2h 3.3061 3.3885 3.4186

    (3.5) (1.08) (0.20)

    [-tan(1+2h)+4tan(1+h)-3tan(1)]/2h 3.0733 3.3627 3.4170

    (10.39) (1.83) (0.25)

    el nmero entre parntesis es el error de clculo en %

    Conviene observar que los errores de las dos primeras

    aproximaciones decrecen en proporcin con h, mientras que

    los errores de las ultimas tres aproximaciones decrecen en

    proporcin con h2. Es claro que la razn de reduccin del

    error se vuelve rpida cuando el orden de precisin es mayor.

  • Aproximaciones de Segundas Derivadas por Diferencias

    El principio bsico para obtener una aproximacin por diferencias de

    segundo orden es eliminar la primera derivada de los desarrollos de Taylor

    y, de ser posible, tantos trminos de orden superior a 2 como sea posible. A

    continuacin se presenta las ecuaciones de desarrollo de Taylor para fi+1, fi-

    1, fi+2 y fi-2, a partir de las cuales se obtendrn las aproximaciones para las

    segundas derivadas:

    ...2462

    ''''4

    '''3

    ''2

    '

    1 iiiiii fh

    fh

    fh

    hfff

    ...2462

    ''''4

    '''3

    ''2

    '

    1 iiiiii fh

    fh

    fh

    hfff

    ...24

    166

    82

    42 ''''4

    '''3

    ''2

    '

    2 iiiiii fh

    fh

    fh

    hfff

    ...24

    166

    82

    42 ''''4

    '''3

    ''2

    '

    2 iiiiii fh

    fh

    fh

    hfff

  • Aproximacin por diferencia central de f, se obtienesumando fi+1 y fi-1 con truncamiento en el cuarto trmino:

    22

    11'' 2 hOh

    ffff iiii

    ''''22

    12

    1ifhhO

    Aproximacin por diferencia hacia atrs de f, se obtienerestando 2fi-1 de fi-2:

    22

    12'' 2 hOh

    ffff iiii

    ''''22 ifhhO

    Aproximacin por diferencia hacia adelante de f, seobtiene restando 2fi+1 de fi+2:

    22

    12'' 2 hOh

    ffff iiii

    ''''22 ifhhO

  • Aproximaciones de Derivadas Parciales por Diferencias

    Las frmulas de aproximacin de diferencia para derivadas parciales de

    funciones multidimensionales son esencialmente iguales a las de

    diferenciacin numrica de funciones unidimensionales. Por tanto, las

    aproximaciones, para las primeras derivadas, de diferencia hacia delante,

    central y hacia atrs para estas derivadas parciales se pueden escribir,

    respectivamente, como:

    x

    yxfyxxf

    x

    f oooo

    ),(),(

    x

    yxxfyxxf

    x

    f oooo

    2

    ),(),(

    x

    yxxfyxf

    x

    f oooo

    ),(),(

  • Las aproximaciones de diferencia central para las segundas

    derivadas de (x,y) en (xo,yo) estn dadas por:

    22

    2 ),(),(2),(

    x

    yxxfyxfyxxf

    x

    f oooooo

    22

    2 ),(),(2),(

    y

    yyxfyxfyyxf

    y

    f oooooo

    yx

    yyxxfyyxxf

    yx

    yyxxfyyxxf

    yx

    f

    oooo

    oooo

    ),(),(

    ),(),(2

  • Resumen de Aproximaciones de la Primera Derivada

    Aproximaciones por Diferencias hacia Adelante)(1' hO

    h

    fff iii

    ''

    2

    1)( ihfhO

    )(2

    34 212' hOh

    ffff iiii

    '''22

    3

    1)( ifhhO

    )(6

    111892 3123' hOh

    fffff iiiii

    ''''33

    4

    1)( ifhhO

    )(1' hOh

    fff iii

    ''

    2

    1)( ihfhO

    )(2

    43 221' hOh

    ffff iiii

    '''22

    3

    1)( ifhhO

    )(6

    291811 3321' hOh

    fffff iiiii

    ''''33

    4

    1)( ifhhO

    Aproximaciones por Diferencias hacia Atrs

    )(2

    211' hOh

    fff iii

    ''''2

    6

    12)( ifhhO

    )(12

    88 42112' hOh

    fffff iiiii

    vifhhO

    44

    30

    1)(

    Aproximaciones por Diferencias Centrales

  • )(2

    2

    12'' hOh

    ffff iiii

    ''')( ihfhO

    )(254 2

    2

    123'' hOh

    fffff iiiii

    ''''22

    12

    11)( ifhhO

    )(2

    2

    21'' hOh

    ffff iiii

    ''')( ihfhO

    )(452 2

    2

    321'' hOh

    fffff iiiii

    ''''22

    12

    11)( ifhhO

    Resumen de Aproximaciones de la Segunda Derivada

    Aproximaciones por Diferencias hacia Adelante

    Aproximaciones por Diferencias hacia Atrs

    )(2 2

    2

    11'' hOh

    ffff iiii

    ''''22

    12

    1)( ifhhO

    )(163016 4

    2

    2111'' hOh

    ffffff iiiiii

    viifhhO

    44

    90

    1)(

    Aproximaciones por Diferencias Centrales