métodos numéricos para el calculo científico con matlab - tomo 2

Upload: junior-lino-mera-carrasco

Post on 08-Jan-2016

16 views

Category:

Documents


1 download

DESCRIPTION

Métodos Numéricos para el Calculo Científico con Matlab - TOMO 2

TRANSCRIPT

  • Presentado por:

    Mera Carrasco, Junior Lino

    Malhaber Montenegro, Miguel Angel

    Asesor:Dr. Collantes Santisteban, Luis Jaime

    UNPRG

    2014

    Metodos Numericos para el

    Calculo Cientfico con Matlab

    TOMO 2

  • UNIVERSIDAD NACIONAL

    PEDRO RUIZ GALLO

    FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS

    ESCUELA PROFESIONAL DE MATEMATICA

    Metodos Numericos para el CalculoCientfico con Matlab

    TOMO 2

    INTERPOLACION

    Presentado por:

    Mera Carrasco Junior Lino

    Malhaber Montenegro Miguel Angel

    Asesor:

    Dr. Collantes Santisteban Luis Jaime

    LAMBAYEQUE PERU

    2014

  • Introduccion

    La presentacion de estos tomos tiene su origen en los Seminarios denominados FUN-

    DAMENTOS DE ECUACIONES NO LINEALES, INTERPOLACION, DIFEREN-

    CIACION E INTEGRACION NUMERICA PARA EL CALCULO CIENTIFICO y

    CALCULO CIENTIFICO DE ECUACIONES NO LINEALES, INTERPOLACION,

    DIFERENCIACION E INTEGRACION NUMERICA CON MATLAB desarrollados

    en Diciembre del 2012 como investigacion de los cursos de Seminario de Matematica

    Pura y Aplicada de la carrera profesional de Matematicas de la Universidad Nacional

    Pedro Ruiz Gallo con el asesoramiento del Dr. Luis Jaime Collantes Santisteban, dichos

    trabajos enfocaban la parte teorica y practica de algunos temas del Calculo Cientfico.

    Estos tomos no son documentos comerciales, por el contrario decidimos trabajar para

    que se encuentre al alcance de todos, es bien sabido la dificultad que tienen estudiantes

    y profesionales de ingeniera, ciencias medicas, ciencias economicas entre otras para ide-

    alizar sus problemas y desarrollar un modelo matematico adecuado en algunos casos es

    difcil porque la aplicacion resulta excesivamente compleja o los metodos analiticos no se

    adecuan muy bien a sus resultados por ello es conveniente el uso de metodos numericos

    los cuales conducen a soluciones aproximadas pero mas manejables y se puede dar uso

    a un ordenador provisto de un software adecuado, para nuestro caso Matlab.

    Metodos Numericos para el Calculo Cientfico con Matlab esta divido en 7 tomos:

    TOMO 0 Conceptos Previos

    TOMO 1 Ecuaciones No Lineales

    TOMO 2 Interpolacion

    TOMO 3 Diferenciacion e Integracion Numerica

    TOMO 4 Ecuaciones Lineales

    TOMO 5 Ecuaciones Diferenciales Ordinarias

    TOMO 6 Ecuaciones Diferenciales Parciales

  • Metodos Numericos para el Calculo Cientfico con Matlab, explicara de manera sencilla

    y con ejemplos el uso y la programacion de Interfaces Graficas de Usuario (GUI) as co-

    mo el clasico uso de los archivos .m y por supuesto la solucion manual.

    Este TOMO denominado Interpolacion esta dividido en tres captulos:

    En el primero revisaremos la parte teorica sobre Interpolacion en la busqueda de la con-

    struccion de una funcion matematica a partir de ciertos puntos dados y los diferentes

    metodos que pueden surgir.

    En el segundo captulo solucionaremos problemas mediante el uso de nuestras Interfaces

    Graficas con los distintos metodos de solucion y verificaremos cual es el mas efectivo

    para distintos problemas.

    Dejaremos para el final los codigo fuente utilizados en la creacion de las interfaces grafi-

    cas.

    Por favor, soy Rodney McKay, difcil tarda unos segundos. Imposible, un par de min-

    utos. Dr. Rodney McKay - Stargate Atlantis

  • INDICE GENERAL

    1. Interpolacion 6

    1.1. Interpolacion polinomica . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.1.1. Polinomio de interpolacion de Lagrange . . . . . . . . . . . . . . . 8

    1.1.2. Fenomeno de Runge . . . . . . . . . . . . . . . . . . . . . . . . . 13

    1.1.3. Interpolacion de Chebyshev . . . . . . . . . . . . . . . . . . . . . 14

    1.1.4. Interpolacion trigonometrica . . . . . . . . . . . . . . . . . . . . . 16

    1.2. Metodo de Newton o de diferencias divididas . . . . . . . . . . . . . . . . 18

    1.3. Interpolacion lineal a trozos . . . . . . . . . . . . . . . . . . . . . . . . . 21

    1.4. Aproximacion por funciones spline . . . . . . . . . . . . . . . . . . . . . . 23

    1.5. Metodo de mnimos cuadrados . . . . . . . . . . . . . . . . . . . . . . . 28

    2. Interpolacion y aproximacion 31

    2.1. Comparacion de Metodos Iteractivos . . . . . . . . . . . . . . . . . . . . 33

    3. Codigo Fuente de los GUIS 45

    3.1. Interpolacion de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    3.2. Diferencias Divididas Abajo . . . . . . . . . . . . . . . . . . . . . . . . . 48

    3.3. Diferencias Divididas Arriba . . . . . . . . . . . . . . . . . . . . . . . . . 50

    3.4. Interpolacion a Trozos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    3.5. Minimos Cuadrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

  • Captulo 1

    INTERPOLACION

    1.1. Interpolacion polinomica

    Una funcion de interpolacion es aquella que pasa a traves de puntos dados como datos

    {(xi, yi), i = 0, 1, 2, . . . , n} (los puntos xi son todos distintos y se llaman nudos), los

    cuales se muestran comunmente por medio de una tabla de valores o se toman directa-

    mente de una funcion dada, obtenida por muestreo o experimentacion. Suponemos que

    los datos corresponden a los valores de una funcion f desconocida (a veces es conocida,

    pero queremos cambiarla por una funcion mas sencilla de calcular). El ajuste de cur-

    vas trata el problema de construir una funcion que aproxime muy bien estos datos es

    decir :

    f(xi) = yi i = 0, 1, . . . , n. (1.1)

    Donde f se llama interpolante del conjunto de datos {yi} y las ecuaciones 1.1 son las

    condiciones de interpolacion. Un caso particular de ajuste de curvas es la interpolacion

    polinomial: En este caso se construye un polinomio p(x) que pase por los puntos de la

    tabla. Podran considerarse varios tipos de interpolantes como:

    El interpolante polinomico: f(x) = a0 + a1x+ a2x2 + . . .+ anx

    n

    El interpolante trigonometrico: f(x) = aMeiMx + . . .+ a0 + . . .+ aMe

    iMx

    donde M es un entero igual a n/2 si n es par, (n 1)/2 sin n es impar, e i es la

    unidad imaginaria.

    El interpolante racional : f =a0 + a1x+ . . .+ akx

    k

    ak+1 + ak+2x+ . . .+ ak+n+1xn

  • 1. Interpolacion 7

    Por simplicidad solamente consideraremos aquellos interpolantes que dependen lineal-

    mente de los coeficientes desconocidos ai. Ambos, los interpolantes polinomico y trigonometri-

    co, entran en esta categora, mientras que el interpolante racional no.

    En el siguiente ejemplo consideremos datos que relaciona temperatura con el segundo

    coeficiente virial.

    Ejemplo 1.1.1. Considere los siguiente datos para el nitrogeno (N2) :

    T (K) 100 200 300 400 450 500 600

    B(cm3/mol) -160 -35 -4.2 9.0 ? 16.9 21.3

    donde T es la temperatura y B es el se-

    gundo coeficiente virial. Cual es el segundo

    coeficiente virial a 450K?. Para responder

    la pregunta, usando interpolacion polinomi-

    al, construimos un polinomio p que pase

    por los seis puntos de la tabla (ya veremos

    como), tal y como se muestra en la figu-

    ra (3.1). Luego, el segundo coeficiente viri-

    al a 450K es aproximadamente p(450) =

    13,5cm3/mol.

    100 200 300 400 500 600450

    50

    100

    P(T)

    TB(c

    m /

    mol)

    3

    Figura 1.1: Polinomio interpolante

    En en capitulo I vimos los polinomios de Taylor. Por su importancia, cabra suponer

    que en la interpolacion polinomica se usaran ampliamente dichas funciones, pero no es

    as. Los polinomios de Taylor coinciden en lo posible con determinada funcion en un

    punto especifico x0, pero concentra su exactitud cerca de el. En los calculos ordinarios

    conviene mas usar metodos que incluyan informacion en diversos puntos. La principal

    aplicacion de los polinomios de Taylor en el analisis numerico no es la aproximacion,

    sino la derivacion de los metodos numericos y la estimacion del error.

  • 1. Interpolacion 8

    1.1.1. Polinomio de interpolacion de Lagrange

    Como los polinomios de Taylor no son adecuados para la interpolacion es necesario hacer

    uso de metodos alternos. En esta seccion encontraremos polinomios de aproximacion que

    se determinan con solo especificar determinados puntos en el plano por donde deben

    pasar. Centremonos en la interpolacion polinomica. Se tiene el siguiente resultado:

    Proposicion 1.1.1. Para cualquier conjunto de pares {xi, yi}, i = 0, . . . , n , con nudos

    distintos xi, existe un unico polinomio de grado menor o igual que n, que indicamos porn y llamamos polinomio de interpolacion de los valores yi en los nudos xi, tal que :

    n

    (xi) = yi i = 0, . . . , n (1.2)

    En caso de que los {yi, i = 0, . . . , n} representen los valores alcanzados por una funcion

    continua f ,

    n se llama polinomio de interpolacion de f (abreviadamente, interpolante

    de f) y sera denotado por

    n f.

    Demostracion. Para verificar la unicidad procedemos por reduccion al absurdo. Supong-

    amos que existan dos polinomios distintos de grado n,

    n y

    n, ambos satisfaciendo la

    relacion nodal 1.2. Su diferencia,

    n

    n, sera un polinomio de grado n que se anula

    en n+1 puntos distintos. Debido a un teorema de Algebra bien conocido, tal polinomio

    debera anularse identicamente y entonces

    n coincidir con

    n.

    Ahora analizaremos el polinomio de Lagrange.

    El problema de encontar un polinomio de primer grado que pase por los puntos dis-

    juntos (x0, y0) y (x1, y1) es el mismo que el de aproximar una funcion f , para la cual

    f(x0) = y0 y f(x1) = y1 por medio de un polinomio de primer grado que interpole los

    valores de f en los puntos dados o que coincida con ellos. Primero definiremos las fun-

    ciones : 0(x) =x x1x0 x1

    y 1(x) =x x0x1 x0

    . y se define entonces(x) = 0(x)f(x0) +

    1(x)f(x1), como 0(x0) = 1, 0(x1) = 0, 1(x0) = 0 y 1(x1) = 1, tenemos:(x0) = 1f(x0)+0f(x1) = f(x0) = y0 y

    (x1) = 0f(x0)+1f(x1) = f(x1) = y1.

    As que

    es la unica funcion lineal que pasa por (x0, y0) y (x1, y1) .

    A fin de generalizar el concepto de interpolacion lineal, consideremos la construccion de

    un polinomio de grado menor o igual que n que pasa por los n+1 puntos: (x0, y0), (x1, y1), . . . , (xn, yn)

  • 1. Interpolacion 9

    y = f(x )

    y= f(x )

    x x

    Y

    X

    1 1

    00

    12

    y=f(x)

    y=nP

    y En este caso para cada k = 0, 1, . . . , n construimos una funcion k Pn con la

    propiedad

    k(xj) = jk =

    1 Si j = k0 Caso contrariodonde jk es el simbolo de Kronecker.

    Para satisfacer k(xj) = 0 para cada j 6= k se requiere que el numerador de k(x)

    contenga el termino

    (x x0)(x x1) . . . (x xk1)(x xk+1) . . . (x xn).

    Para satisfacer k(xj) = 1, el denominador de k(x) debe coincidir con este termino

    cuando se evalue en x = xk. Es decir ,

    k(x) =(x x0) . . . (x xk1)(x xk+1) . . . (x xn)

    (xk x0) . . . (xk xk1)(xk xk+1) . . . (xk xn)

    En la siguiente figura se muestra un dibujo de la grafica de un k comun.

    x x . . . x x x . . . x x X 0 1 k-1 k k+1 n-1 n

    1

    jk

  • 1. Interpolacion 10

    El polinomio de interpolacion se describe facilmente ahora que conocemos la forma de k.

    Este polinomio, denominado n-esimo polinomio de Lagrange se define acontinuacion:

    Tomando la propiedad de la proposicion1.1.1 :n

    (xi) = yi, i = 0, . . . , n.

    Este polinomio esta dado por:n

    (x) = y00(x) + . . .+ ynn(x) =n

    k=0

    ykk(x)

    donde para cada k = 0, 1, . . . , n.

    k(x) =

    j=0j 6=k

    x xjxk xj

    En efecto, este polinomio satisface las condiciones de interpolacion 1.2, puesto que :

    n

    (xi) =

    nk=0

    ykk(xi) =

    nk=0

    ykik = yi i = 0, . . . , n

    Ejemplo 1.1.2. Consideremos la siguiente funcion y = f(x) = sen x en [0,2, 1].

    a) Usar los nodos x0 = 0,2 y x1 = 1 para construir un polinomio de interpolacion de

    Lagrange 1(x) y calcular f(0,6).

    b)Usar los nodos x0 = 0,4 y x1 = 0,8 para costruir un polinomio de interpolacion de

    Lagrange 1(x) y calcular f(0,6).

    Solucion. a) Como x0 = 0,2 y x1 = 1, entonces y0 = 0,198669 y y1 = 0,841471

    luego 1(x) = 0,198669x10,21

    + 0,841471x0,210,2

    , o sea que 1(x) = 0,248331(x 1) +

    1,051839(x 0,2) y f(0,6) = 0,520068.

    b) Como x0 = 0,4 y x1 = 0,8, entonces y0 = 0,389418 y y1 = 0,717356 luego 1(x) =

    0,389418 x0,80,40,8

    +0,717356 x0,40,80,4

    , o sea que 1(x) = 0,973545(x0,8)+1,79339(x0,4)

    y f(0,6) = 0,5533387.

    En la figura 1.2 se observa que 1 aproxima mejor a y = f(x) que 1.

  • 1. Interpolacion 11

    0.2 0.4 0.6 0.8 1

    1

    0.8

    0.6

    0.4

    0.2

    y = f(x)y= f(x)

    0.2 0.4 0.6 0.8 1

    1

    0.8

    0.6

    0.4

    0.2

    Figura 1.2: Comparacion entre los polinomios de Lagrange 1 (a la izquierda) y 1 (a

    la derecha) de la funcion y = f(x) = sen(x).

    Ejemplo 1.1.3. Para el siguiente conjunto de Pares: {(1, 0), (2,1), (3, 2), (4,5)},

    construir el polinomio de interpolacion.

    Solucion. Los polinomios de Lagrange para dichos pares de puntos viene dados por

    0(x) =(x 2)(x 3)(x 4)

    (1 2)(1 3)(1 4)=1

    6(x3 9x2 + 26x 24)

    1(x) =(x 1)(x 3)(x 4)

    (2 1)(2 3)(2 4)=

    1

    2(x3 8x2 + 19x 12)

    2(x) =(x 1)(x 2)(x 4)

    (3 1)(3 2)(3 4)=1

    2(x3 7x2 + 14x 8)

    3(x) =(x 1)(x 2)(x 3)

    (4 1)(4 2)(4 3)=

    1

    6(x3 6x2 + 11x 6)

    Y el polinomio de interpolacion de Lagrange es:3

    (x) = y00(x) + y11(x) + y22(x) + y33(x) = 0 0(x) + (1) 1(x) + 2 2(x) +

    (5)3(x) Por lo que tenemos3

    (x) =7

    3x3 + 16x2

    98

    3x+ 19.

    Utilizando el resultado siguiente podemos evaluar el error obtenido reemplazando f por

    su polinomio de interpolacion

    n f .

    Proposicion 1.1.2 ((El error de la interpolacion Lagrangiana).). Sea I el intervalo

    acotado y consideremos n+ 1 nudos distintos de interpolacion

    {xi, i = 0, . . . , n} en I. Sea f continuamente diferenciables hasta el orden n + 1 en I.

    Entonces x I I tal que:

    Enf(x) = f(x)n

    f(x) =fn+1()

    (n+ 1)!

    ni=0

    (x xi). (1.3)

  • 1. Interpolacion 12

    Demostracion. Observe primero que, si x = xk para k = 0, 1, . . . , n entonces Enf(xk) =

    0. Si x 6= xk para cualquier k = 0, 1, . . . , n defina la funcion g para t [a, b] por medio

    de

    g(t) = f(t)n

    f(t) [f(x)n

    f(x)] (tx0)(tx1)...(txn)(xx0)(xx1)...(xxn)

    = f(t)n

    f(t) [f(x)n

    f(x)]ni=0

    (txi)(xxi)

    Puesto que f Cn+1(I), yn

    C(I), se deduce que g Cn+1(I). Cuando t = xk

    tendremos

    g(xk) = f(xk)n

    f(xk) [f(x)n

    f(x)]

    ni=0

    (xk xi)

    (x xi)= 0 [f(x)

    n

    f(x)] 0 = 0

    Ademas: g(x) = f(x) n

    f(x) [f(x) n

    f(x)]ni=0

    (xxi)(xxi)

    = f(x) n

    f(x) [f(x) n

    f(x)] = 0.

    Por tanto g Cn+1(I) y g se anula en los n + 2 numeros distintos x, x0, x1, . . . , xn.

    Conforme al teorema generalizado de Rolle, existe en I tal que g(n+1)() = 0. Por

    tanto,

    0 = g(n+1)() = f (n+1)() (n

    f)(n+1)() [f(x)n

    f(x)]dn+1

    dtn+1

    [ni=0

    (t xi)

    (x xi)

    ]t=(1.4)

    Por sern

    f(x) un polinomio de grado a lo mas n , entonces (n

    f(x))(n+1) sera igual a

    cero, Asimismo,ni=0

    (txi)(xxi)

    es un polinomio de grado (n+ 1) y por tanto ,

    ni=0

    (t xi)

    (x xi)=

    [1n

    i=0(x xi)

    ]tn+1 + ( termino de menor grado en t)

    ydn+1

    dtn+1

    ni=0

    (t xi)

    (x xi)=

    (n+ 1)!ni=0(x xi)

    La ecuacion (1.4) ahora se convierte en

    0 = f (n+1)() 0 [f(x)n

    f(x)](n + 1)!ni=0(x xi)

    y luego al despejar f(x)n

    f(x), tendremos

    f(x)n

    f(x) =fn+1()

    (n+ 1)!

    ni=0

    (x xi).

  • 1. Interpolacion 13

    Ejemplo 1.1.4. Calcular la expresion del error interpolacion al aproximar la funcion

    f(x) = sen(x) en el intervalo [0,2, 1] interpolando en los puntos 0,4, 0,8 y acotarlo

    superiormente.

    Solucion. El error de interpolacion viene dado por E1f(x) = sen()2

    (x 0,4)(x 0,8),

    el valor maximo del sen() es 0.841470. Por otro lado el valor donde alcanza el maximo

    el polinomio de error en [0,2, 1] es x = 1, por tanto la cota del error que obtenemos es

    |E1f(x)| 0,841470

    2(1 0,4)(1 0,8) = 0,050488

    El resultado 1.3 puede especificarse mejor en el caso de una distribucion uniforme de

    nudos, esto es, cuando xi = xi1+ h para i = 1, . . . , n, para un h > 0 y un x0 dados. Se

    tiene nt=0

    (x x1)

    n!hn+14 (1.5)y, por consiguiente :

    maxxI

    |Enf(x)| maxxI |f

    n+1(x)|

    4(n+ 1)hn+1 (1.6)

    Desafortunadamente, no podemos deducir de 1.6 que el error tienda a 0 cuando n 0,

    a pesar de que hn+1/[4(n+ 1)] tiende a 0. De hecho, existen funciones f para las cuales

    el limite puede ser incluso infinito, esto es,

    lmn

    maxxI

    |Enf(x)| =

    Este sorprendente resultado indica que, haciendo crecer el grado n del polinomio de

    interpolacion, no necesariamente obtenemos una mejor reconstruccion de f .

    1.1.2. Fenomeno de Runge

    Aparentemente, la cota del error de interpolacion

    maxxI

    |Enf(x)| maxxI |f

    n+1(x)|

    4(n+ 1)hn+1

    parece indicar que el error decrecera conforme se introduzcan mas nodos de interpolacion

    (n ). Sin embargo, es importante notar que eso no es cierto, es decir, no siempre

    se cumple que

    lmn

    |Enf(x)| = 0,

  • 1. Interpolacion 14

    ya que la cota depende de que las derivadas de la funcion f(x) no crezcan demasia-

    do rapido. Este hecho, se expresa en la existencia funciones para las que la sucesion

    {n

    f(x)} diverge conforme n crece. Por ejemplo , Runge demostro en 1901 que para la

    funcion (llamada de Runge) f(x) = 1/(1+x2), la sucesion {n

    f(x)}, de polinomios que

    la interpolacion con n+1 puntos distribuidos uniformemente en el intervalo I = [5, 5],

    diverge conforme n crece indefinidamente.

    Sin embargo, Krylov probo en 1962 que si la funcion f(z), de variable compleja, es

    analtica en la region definida por la interseccion de los dos crculos de radio b a

    centrados en z = a y z = b, entonces la interpolacion de la funcion f(x), de variable

    real, en el intervalo [a; b] converge conforme el numero de nodos, n, en dicho intervalo

    tiende a infinito, es decir,

    lmn

    |f(x)n

    f(x)| = 0

    Pero la funcion de Ruge no es analitica ya que posee dos polos complejos, z = i, y por

    tanto, no cumple las hipotesis del teorema de Krylov en el intervalo [5, 5].

    Estas dificultades de convergencia con el proceso de interpolacion se conocen con el

    nombre de fenomeno de Runge. Desde un punto de vista practico este fenomeno se

    refleja en grandes oscilaciones del polinomio interpolador, sobre todo en los extremos

    del intervalo de interpolacion. Una justificacion intuitiva de este comportamiento es que

    como el polinomio de interpolacion

    n f(x), de grado n, tiene n ceros, que en muchos

    casos se encuentran dentro del intervalo de integracion, incluso si la funcion original

    f(x) no tiene ceros en el mismo, este se ve obligado a realizar grandes oscilaciones cerca

    de los extremos del intervalo de interpolacion. La siguiente figura muestra la funcion de

    Runge y su polinomio de interpolacion para los intervalos [5; 5]

    1.1.3. Interpolacion de Chebyshev

    El fenomeno de Runge puede evitarse si se usa una distribucion apropiada de los nudos.

    En particular, en un intervalo arbitrario [a, b], podemos considerar los llamados nudos

    de Chebyshev

    xi =a+ b

    2+b a

    2xi, donde xi = cos(pii/n), i = 0, . . . , n (1.7)

    (obviamente, xi = xi, i = 0, . . . , n cuando [a, b] = [1, 1])

  • 1. Interpolacion 15

    1

    0 X

    Y

    -5 5* * *

    *

    *

    *

    *

    ** * *

    Figura 1.3: La figura muestra la grafica de la funcion f(x) = 1/(1 + x2)(Lnea verde) y

    su polinomio de interpolacion (linea celeste) de grado 10 (11 nudos)

    En efecto para esta distribucion especial de nudos es posible probar que, si f es una

    funcion continua y diferenciable en [a, b],

    n f converge a f cuando n para todo

    x [a, b].

    Los nudos de Chebyshev, que son las abscisas de nudos equiespaciados sobre la semi-

    circunferencia unidad, estan en el interior de [a, b] y se acumulan cerca de los puntos

    extremos de ese intervalo.

    Otra distribucion no uniforme de nudos en el intervalo (a, b), que comparten las mismas

    propiedades de convergencia que los nudos de Chebyshev, viene proporcionada por:

    xi =a+ b

    2+b a

    2cos

    (2i+ 1

    n + 1

    pi

    2

    )i = 0, . . . , n (1.8)

    Ahora veremos los polinomios de Chebyshev , que son denotados por {Tn+1(x)}, donde

    Tn+1(x) = cos((n + 1) arc cos(x)). La forma mas facil de construirlos es mediante la

    relacion de recurrencia:

    T0(x) = 1, T1(x) = x, Tn+1(x) = 2xTn(x) Tn1(x), n = 1, 2, . . .

    Ejemplo 1.1.5. Considerando de nuevo la funcion f del fenomeno de Runge, encon-

    traremos los nudos de Chebyshev y su polinomio de interpolacion en dichos nodos.

    Solucion. Para calcular los nudos haremos uso de la ecuacion (1.7) la cual se muestra

    en la siguiente tabla. La siguiente figura muestra la comparacion entre el polinomio de

    Chebychev y el fenomeno de Runge de la funcion f .

  • 1. Interpolacion 16

    n xi

    1 -5

    2 -4.75528258

    3 -4.04508497

    4 -2.93892626

    5 -1.54508497

    6 0

    7 1.54508497

    8 2.93892626

    9 4.04508497

    10 4.75528258

    11 5

    1.1.4. Interpolacion trigonometrica

    Queremos aproximar una funcion f : [0, 2pi] C es decir satisfaciendo f(0) = f(2pi)

    por un polinomio trigonometrico f que interpole a f en los n+ 1 nudos xj = 2pij/(n+

    1), j = 0, . . . , n es decir,

    f(xj) = f(xj), para j = 0, .., n (1.9)

    El interpolante f se obtiene mediante una combinacion lineal de senos y cosenos.

    En particular, si n es par, f tendra la forma:

    f(x) =a02+

    Mk=1

    [ak cos(kx) + bk sen(kx)] (1.10)

    donde M = n/2, mientras que, si n es impar, f tendra la forma:

    f(x) =a02+

    Mk=1

    [ak cos(kx) + bk sen(kx)] + aM+1 cos((M + 1)x) (1.11)

    donde M = (n 1)/2. Podemos escribir 1.10 como:

    f(x) =

    Mk=M

    ckeikx (1.12)

  • 1. Interpolacion 17

    1

    0 X

    Y

    -5 5* * *

    *

    *

    *

    *

    ** * *

    Figura 1.4: La figura muestra la grafica de la funcion f(x) = 1/(1 + x2)(Lnea verde

    punteada) , su polinomio de interpolacion (linea celeste) de grado 10 (11 nudos) y el

    polinomio de Chebychev (linea roja).

    siendo i la unidad imaginaria. Los coeficientes complejos ck estan relacionados con los

    coeficientes ak y bk (tambien complejos) como sigue:

    ak = ck + ck bk = i(ck ck), k = 0, . . . ,M (1.13)

    En efecto, de la ecuacion de Euler se sigue que eikx = cos(kx) + i sen(kx) y

    Mk=M

    ckeikx =

    Mk=M

    ck(cos(kx) + i sen(kx))

    =Mk=1

    [ck(cos(kx) + i sen(kx)) + ck(cos(kx) i sen(kx))] + c0

    Por consiguiente deducimos 1.10, gracias a las relaciones 1.13.

    Analogamente, cuando n es impar, 1.11 resulta

    f(x) =

    M+1k=(M+1)

    ckeikx (1.14)

    donde los coeficientes ck para k = 0, . . . ,M son los mismos de antes, mientras que

    cM+1 = c(M+1) = aM+1/2. En ambos casos podramos escribir:

    f(x) =

    M+k=(M+)

    ckeikx (1.15)

    con = 0 si n es par y = 1 si n es impar. Si f fuese real, sus coeficientes ck satisfarian

    ck = ck; de 1.13 se sigue que los coeficientes ak y bk son todos reales.

  • 1. Interpolacion 18

    A causa de su analogia con las series de Fourier, f se llama serie de Fourier discreta.

    Imponiendo la condicion de interpolacion en los nudos xj = jh, con h = 2pi/(n + 1),

    hallamos queM+

    k=(M+)

    ckeikjh = f(xj), j = 0, . . . , n (1.16)

    Para el calculo de los coeficientes {ck} multipliquemos las ecuaciones 1.16 por eimxj =

    eimjh, donde m es un entero entre 0 y n, y luego sumemos con respecto a j:

    nj=0

    M+k=(M+)

    ckeikjheimjh =

    nj=0

    f(xj)eimjh (1.17)

    Ahora requerimos la siguiente igualdad:

    nj=0

    eijh(km) = (n+ 1)km

    Esta identidad es obviamente cierta si k = m. Cuando k 6= m tenemos:

    nj=0

    eijh(km) =1 (ei(km)h)n+1

    1 ei(km)h

    El numerador del segundo miembro es nulo porque:

    1 ei(km)h(n+1) = 1 ei(km)2pi

    = 1 cos((k m)2pi) i sen((k m)2pi)

    Por consiguiente, de 1.17 obtenemos la siguiente expresion explcita para los coeficientes

    de f

    ck =1

    n+ 1

    nj=0

    f(xj)eikjh, k = (M + ), . . . ,M + (1.18)

    1.2. Metodo de Newton o de diferencias divididas

    El metodo de Newton de diferencias divididas es otra forma de obtener el polinomio

    interpolador. En este metodo el polinomio interpolador se escribe de la forman

    (x) = a0 + a1(x x0) + a2(x x0)(x x1) + . . .+ an(x x0)(x x1) . . . (x xn1)

    para unas constantes apropiadas a0, a1, . . . , an. Estas constantes se obtienen calculando

    las llamadas diferencias divididas.

  • 1. Interpolacion 19

    Para determinar la primera de las constantes, a0,devemos de evaluarn

    (x) en x0 queda

    solo el termino constante a0, es decir

    a0 =0

    (x0) = f(x0)

    De manera similar, se evalua en los puntos x1, . . . , xk

    f(x1) =1

    (x1) = f(x0) + a1(x1 x0)

    a1 =f(x1)f(x0)

    x1x0

    f(x2) =2

    (x2) =1

    (x1) + a2(x2 x0)(x2 x1)

    a2 =f(x2)

    1

    (x2)

    (x2x0)(x2x1)...

    f(xk) =k

    (xk) =k1

    (xk) + ak(xk x0)(xk x1) . . . (xk xk1)

    ak =f(xk)

    k1

    (xk)

    (xkx0)(xkx1)...(xkxk1)

    Para indicar la dependencia de ak de x0, x1, . . . , xk y f(x0), f(x1), . . . , f(xk) escribimos

    ak := f [x0, x1, . . . , xk]

    Esta expresion se denomina la k-esima diferencia dividida de f(x) en los puntos

    x0, x1, . . . , xk, y es igual al coeficiente principal del polinomio que interpola f(x) en

    dichos puntos.

    Podemos encontrar una forma mas conveniente de calcular las diferencias divididas, en

    lugar del metodo recursivo anterior. Sabemos que

    a0 = f(x0) f [x0]

    a1 =f(x1)f(x0)

    x1x0 f [x0, x1]

    Las diferencias de orden mayor pueden construirse utilizando la formula

    ak =f [x1, . . . , xk] f [x0, . . . , xk1]

    (xk x0) f [x0, x1, . . . , xk]

    Resumiendo, la forma de Newton del polinomio de interpolacion en los puntos x0, x1, . . . , xn

    para f(x) esn

    (x) = f [x0] + f [x0, x1](x x0) + f [x0, x1, x2](x x0)(x x1) + . . .

    +f [x0, x1, . . . , xn](x x0) . . . (x xn1)

    = f [x0] +n

    k=1

    f [x0, . . . , xk]n1j=0

    (x xj)

  • 1. Interpolacion 20

    donde f [x0, x1, . . . , xk] =f [x1,...,xk]f [x0,...,xk1]

    (xkx0), k = 1, 2, . . . , n

    Esta ultima expresion se utiliza para generar las diferencias divididas en forma simple

    por medio de una tabla denominada tabla de diferencias divididas. Por ejemplo,

    para el caso n = 3, esta tabla queda de la siguiente manera

    x f [] f [, ] f [, , ] f [, , , ]

    x0 f [x0]

    f [x0, x1] =f [x1]f [x0]

    x1x0

    x1 f [x1] f [x0, x1, x2] =f [x1,x2]f [x0,x1]

    x2x0

    f [x1, x2] =f [x2]f [x1]

    x2x1f [x0, x1, x2, x3]

    x2 f [x2] f [x1, x2, x3] =f [x2,x3]f [x1,x2]

    x3x1

    f [x2, x3] =f [x3]f [x2]

    x3x2

    x3 f [x3]

    Ejemplo 1.2.1. Encontrar, por el metodo de las diferencias divididas de Newton, el

    polinomio de interpolacion de la funcion f(x) que toma los valores {0,1, 1, 2} en los

    nudos {1, 3, 4, 5}.

    Solucion. Teniendo encuenta la tabla anterior obtenemos:

    f [x0, x1] =f [x1] f [x0]

    x1 x0=

    f(x1) f(x0)

    x1 x0=

    1 0

    3 1=

    1

    2

    f [x1, x2] =f [x2] f [x1]

    x2 x1=

    f(x2) f(x1)

    x2 x1=1 1

    4 3= 2

    f [x2, x3] =f [x3] f [x2]

    x3 x2=

    f(x3) f(x2)

    x3 x2=

    2 (1)

    5 4= 3

    f [x0, x1, x2] =f [x1, x2] f [x0, x1]

    x2 x0=2 1/2

    4 1=

    5

    6

    f [x1, x2, x3] =f [x2, x3] f [x1, x2]

    x3 x1=

    3 (2)

    5 3=

    5

    2

    f [x0, x1, x2, x3] =f [x1, x2, x3] f [x0, x1, x2]

    x3 x0=

    5/2 (5/6)

    5 1=

    5

    6

    Por lo que el polinomio de interpolacion es :3

    =1

    2(x 1)

    5

    6(x 1)(x 3) +

    5

    6(x 1)(x 3)(x 4) =

    1

    6(5x3 45x2 + 118x 78)

  • 1. Interpolacion 21

    Teorema 1.2.1 ((El error del polinomio en forma de Newton)). Supongamos que f

    Ck[a, b] y x0, x1, . . . , xn son numeros distintos en [a, b]. Entonces existe un numero en

    (a, b) con

    f [x0, x1, . . . , xn] =f (n)()

    n!

    Demostracion. Sea g(x) = f(x) n

    (x). Puesto que f(xk) =n

    (xk) para cada k =

    0, 1, . . . , n, la funcion g tiene n+ 1 ceros distintos en [a, b]. Conforme al teorema gener-

    alizado de Rolle, existe en (a, b) un numero con g(n)() = 0, tal que

    0 = f (n)() (n

    )(n)()

    Por sern

    un polinomio de grado n cuyos coeficiente principal es f [x0, x1, . . . , xn],

    (n

    (x))(n) = n!f [x0, x1, . . . , xn]

    para todos los valores de x. En consecuencia,

    f [x0, x1, . . . , xn] =f (n)()

    n!

    1.3. Interpolacion lineal a trozos

    El interpolante de Chebyshev proporciona una aproximacion precisa de funciones regu-

    lares f cuya expresion es conocida. Cuando f no es regular o cuando f solo se conoce

    por sus valores en un conjunto de puntos (que no coincide con los nudos de Chebyshev),

    uno puede recurrir a un metodo de interpolacion diferente, se llama interpolacion lineal

    compuesta.

    La interpolacion lineal a trozos es la mas simple de las interpolaciones. Supongamos que

    se quiere calcular el valor una funcion f(x) en un punto dado , la cual conocemos una

    distribucion de nudos (no necesariamente uniforme) x0 < x1 < . . . < xn y denotemos

    por Ii = [xi, xi+1] tal que [xi, xi+1].

    Aproximamos f por una funcion continua en cada Ii, esta dada por el segmento que une

    los puntos (xi, f(xi)) y (xi+1, f(xi+1)) (ver figura 1.5 ). Esta funcion lineal que aproxima

  • 1. Interpolacion 22

    a f en sera denotada por H1 f , se llama interpolacion lineal polinomica a trozos de f

    y su expresion es :

    H1 f(x) = f(xi) +f(xi+1) f(xi)

    xi+1 xi(x xi) para x Ii (1.19)

    Y

    X

    y=f(x)

    x x x .... x x ...x x0 1 2 i i+1 n-1 n

    Figura 1.5: La grafica de la funcion f y su interpolacion lineal a trozos.

    Proposicion 1.3.1. Si f C2(I), donde I = [x0, xn], entonces

    maxxI

    |f(x)H1 f(x)| H2

    8maxxI

    |f (x)|

    Ejemplo 1.3.1. El numero de turistas entrando a Chiclayo en el mes de agosto siguio

    la siguiente tendencia.

    dia 1 9 16 23 27 31

    N de turistas 35 53 110 75 40 97

    Encuentre el Polinomio en cada intervalo.

  • 1. Interpolacion 23

    Solucion. Utilizando la ecuacion 1.19, obtenemos:

    IiH1

    f(x)

    [1, 9] 35 + 2,25(x 1)

    [9, 16] 53 + 8,1429(x 9)

    [16, 23] 110 5(x 16)

    [23, 27] 75 8,75(x 23)

    [27, 31] 40 + 14,25(x 27)

    1.4. Aproximacion por funciones spline

    La palabra inglesa spline denota un cierto instrumento flexible usado en dibujo tecnico

    que sirve para trazar curvas suaves.

    Del mismo modo que hemos hecho para la interpolacion lineal a trozos, tambien se

    puede definir la interpolacion polinomica a trozos de grado n 2. Por ejemplo, la in-

    terpolante cuadratica a trozos H2 f es una funcion continua que, sobre cada intervalo

    Ii, reemplaza a f por su interpolacion polinomica en los puntos extremos de Ii y en su

    punto medio. Si f C3(I), el error f H2 f en la norma del maximo decae como H3

    si H tiende a cero.

    El principal inconveniente de esta interpolacion a trozos es que Hk f con k > 1, no

    es mas que una funcion globalmente continua. En realidad, en varias aplicaciones, es de-

    seable tener una aproximacion por funciones regulares que tengan al menos una derivada

    continua.

  • 1. Interpolacion 24

    Con este objetivo definiremos funcion Spline.

    Definicion 1.4.1 ((Funcion spline)). Una funcion spline de grado k con nodos en

    x0, x1, . . . , xn es una funcion Sk(x) formada por varios polinomios, cada uno de ellos

    definido sobre un sbintervalo y que se unen entre s bajo ciertas condiciones de con-

    tinuidad. Las condiciones que debe cumplir Sk(x) son las siguientes:

    En cada intervalo Ii, Sk(x) es un polinomio de grado gr[Sk(x)] k,

    Sk(x) admite derivadas continuas de orden k 1 en [x0, xn]

    En general, puede crearse funciones spline de grado k, pero la interpolacion mas frecuente

    es a traves de funciones spline de grado 3, es decir , de splines cubicos.

    Dado que a partir de ahora vamos a trabajar con spline cubicos, vamos a concretar la

    definicion 1.4.1 al caso de k = 3.

    Definicion 1.4.2 ((Funcion spline cubico)). dado el conjunto de nodos x0, x1, . . . , xn,

    diremos que la funcion S3 es un spline cubico si cumple las siguientes condiciones:

    1. Sobre cada Ii, para i = 0, . . . , n 1, s3 es un polinomio de grado 3 que interpola

    los pares de valores (xj , f(xj)) para j = i, i + 1 ( el cual sera llamado spline de

    interpolacion);

    2. S3 tiene derivadas primera y segunda continuas en los nudos xi, i = 1, . . . , n 1

    Para su completa determinacion, necesitamos 4 condiciones sobre cada intervalo (por

    los cuatro coeficientes del polinomio de grado tres), por consiguiente un total de 4n

    ecuaciones que podemos proporcionar como sigue:

    n+1 condiciones provienen del requerimiento de interpolacion en los nudos xi, i =

    0, . . . , n

    S3(xi) = f(xi) = yi i = 0, 1, . . . , n;

    n 1 ecuaciones adicionales se siguen del requerimiento de continuidad del poli-

    nomio en los nudos interiores x1, . . . , xn1

    S3|[xi1,xi](xi) = S3|[xi,xi+1](xi) i = 1, . . . , n 1

  • 1. Interpolacion 25

    2(n 1) nuevas ecuaciones se obtienen exigiendo que las derivadas primera y

    segunda sean continuas en los nudos interiores.

    S 3|[xi1,xi](xi) = S3|[xi,xi+1](xi)

    S 3 |[xi1,xi](xi) = S3 |[xi,xi+1](xi)

    i = 1, . . . , n 1

    Dado que tenemos un total de 4n 2 condiciones, debemos imponer dos nuevas condi-

    ciones para poder determinar los coeficientes de la funcion spline y son:

    S 3 (x0) = 0, S3 (xn) = 0 (1.20)

    La funcion S3 que obtenemos de esta forma se llama spline cubico natural de interpo-

    lacion.

    Si queremos construir el spline cubico natural de interpolacion de determinada funcion

    f , aplicamos las condiciones a los polinomios cubicos:

    S3|[xi,xi+1](x) = ai + bi(x xi) + ci(x xi)2 + di(x xi)

    3

    para cada i = 0, 1, . . . , n 1. Esta claro que : S3|[xi,xi+1](xi) = ai = f(xi) y si se aplica

    la condicion de continuidad ,

    ai = S3|[xi,xi+1](xi) = S3|[xi1,xi](xi) = ai1 + bi1(xi xi1) + ci1(xi xi1)2 + di1(xi xi1)

    3,

    para cada i = 1, . . . , n 1, hacemos hi1 = xi xi1, para cada i = 1, . . . , n .

    Si tambien definimos an = f(xn) entonces la ecuacion resulta

    ai = ai1 + bi1 hi1 + ci1 h2i1 + di1h

    3i1 (1.21)

    sera valida para cada i = 1, . . . , n. De manera analoga; definamos bn = S3|(xn) y observe

    que

    S 3|[xi,xi+1](x) = bi + 2ci(x xi) + 3di(x xi)2

    significa que: S 3|[xi,xi+1](xi) = bi, para cada i = 0, 1, . . . , n 1

    al aplicar la condicion de la primera derivada obtenemos :

    bi = S3|[xi,xi+1](xi) = S

    3|[xi1,xi](xi) = bi1 + 2ci1(xi xi1) + 3di1(xi xi1)

    2, para ca-

    da i = 1, . . . , n, si hacemos hi1 = xi xi1; para cada i = 1, . . . , n; de esto tenemos:

    bi = bi1 + 2ci1 hi1 + 3di1 h2i1 i = 1, . . . , n (1.22)

  • 1. Interpolacion 26

    Al definir cn = S3 (xn)/2 y aplicar la segunda derivada, se obtiene otra relacion entre

    los coeficientes de S3|[xi,xi+1]. En este caso, para cada i = 1, . . . , n

    ci = ci1 + 3di1hi1 (1.23)

    Al despejar di1 en la ecuacion (1.23) y sustituir este valor en las ecuaciones (1.21) y

    (1.22), para cada i = 1, . . . , n se obtiene las ecuaciones

    ai = ai1 + bi1 hi1 +h2i13

    (2ci1 + ci) (1.24)

    y

    bi = bi1 + hi1(ci1 + ci) (1.25)

    La relacion final que incluye los coeficientes se obtiene resolviendo la ecuacion corre-

    spondiente en la forma de la ecuacion (1.24), primero para bi1

    bi1 =1

    hi1(ai ai1)

    hi13

    (2ci1 + ci) (1.26)

    y entonces con una reduccion de indice para bi2

    bi2 =1

    hi2(ai1 ai2)

    hi23

    (2ci2 + ci1) (1.27)

    Cuando sustituimos (1.26) y (1.27) en (1.25), con el ndice reducido en 1, obtenemos el

    sistema de ecuaciones lineales

    hi2ci2 + 2(hi2 + hi1)ci1 + hi1ci =3

    hi1(ai ai1)

    3

    hi2(ai1 ai2) (1.28)

    para cada i = 2, . . . , n

    Ahora debemos encontrar los valores de {ci}ni=1 ya que estas proporcionan el resto las

    constantes {bi}ni=1 partiendo de la ecuacion (1.26) y {di}

    ni=1 de la ecuacion (1.23) para

    construir los polinomios cubicos.

    Ahora utilizaremos las ecuaciones (1.20), se tiene cn = S3 (xn)/2 = 0 y que

    0 = S 3 |[x0,x1](x0) = 2c0 + 6d0(x0 x0) asi que c0 = 0.

    Las dos condiciones c0 = 0 y cn = 0 junto con las ecuaciones (1.28) produce un sistema

    lineal descrito por la ecuacion vectorial AX = b, donde A es la matriz tridiagonal de

  • 1. Interpolacion 27

    orden (n+ 1) (n+ 1)

    A X = b

    1 0 0 . . . 0

    h0 2(h0 + h1) h1. . .

    ...

    0 h1 2(h1 + h2) h2 0...

    . . . hn2 2(hn2 + hn1) hn1

    0 0 0 1

    c0

    c1...

    cn

    =

    =

    0

    3h1(a2 a1)

    3h0(a1 a0)

    ...

    3hn1

    (an an1)3

    hn2(an1 an2)

    0

    A continuacion veremos un ejemplo donde se aplica este resultado.

    Ejemplo 1.4.1. Dado los puntos (0, 1), (1, e), (2, e2) y (3, e3) de la funcion exponencial

    f(x) = ex, encontrar el spline cubico natural S3(x).

    Solucion. Donde observamos que : n = 3, x0 = 0, x1 = 1, x2 = 2, x3 = 3 entonces

    h0 = h1 = h2 = 1 y de an = f(xn) tenemos a0 = 1, a1 = e, a2 = e2, a3 = e

    3. Asi que la

    matriz A, y los vectores b y X tienen la forma:

    A =

    1 0 0 0

    1 4 1 0

    0 1 4 1

    0 0 0 1

    , b =

    0

    3(e2 2e+ 1)

    3(e3 2e2 + e)

    0

    , y X =c0

    c1

    c2

    c3

    de esto tenemos el siguiente sistema de ecuaciones.

    c0 = 0,

    c0 + 4c1 + c2 = 3(e2 2e+ 1)

    c1 + 4c2 + c3 = 3(e3 2e2 + e)

    c3 = 0

    El sistema tiene como solucion a c0 = c3 = 0 , c1 = 0, 75685 y c2 = 5, 83007

    Utilizando las ecuaciones (1.26) y (1.23) obtenemos los siguientes coeficientes: b0 =

  • 1. Interpolacion 28

    1,46600, b1 = 2,22285, b2 = 8,80977, d0 = 0,25228, d1 = 1,69107 y d2 = 1,94336.

    El spline cubico natural es descrito precisamente por :

    S3(x) =

    1 + 1,46600x+ 0,25228x3, x [0, 1]

    2,71828 + 2,22285(x 1) + 0,75685(x 1)2 + 1,69107(x 1)3, x [1, 2]

    7,38906 + 8,80977(x 2)2 1,94336(x 2)3, x [2, 3]

    La siguiente figura describe al spline y a la funcion f(x) = ex

    1 2 3 X

    e

    e

    e

    1

    y= S (x)

    y= e x

    3

    2

    3

    1.5. Metodo de mnimos cuadrados

    El metodo de mnimos cuadrados fue descubierta por Carl Friedrich Gauss, al predecir

    la posicion de la orbita del cuerpo celeste Ceres en diciembre de 1801.

    Ya hemos observado que una interpolacion de Lagrange no garantiza una mejor aproxi-

    macion de una funcion dada cuando el grado del polinomio se hace grande. Este proble-

    ma puede ser superado mediante la interpolacion compuesta (tal como la interpolacion

    lineal a trozos o por splines). Sin embargo, ninguna es apropiada para extrapolar infor-

    macionde los datos disponibles, esto es, para generar nuevos valores en puntos situados

    fuera del intervalo donde se dan los nudos de interpolacion.

    Supongamos que se dispone de los datos (xi, yi), i = 0, . . . , n, donde ahora yi podra

    representar los valores f(xi) alcanzados por una funcion dada f en los nudos xi. Para

    un entero dado m 1 (usualmente, m n) buscamos un polinomio f Pm que

    satisfaga la desigualdad

    ni=0

    [yi f(xi)]2

    ni=0

    [yi pm(xi)]2 (1.29)

  • 1. Interpolacion 29

    para cada polinomio pm Pm. Si existe, f sera llamda aproximacion de mnimos cuadra-

    dos en Pm del conjunto de datos {(xi, yi), i = 0, . . . , n}. Salvo m n, en general no

    sera posible garantizar que f(xi) = yi para todo i = 0, . . . , n.

    Poniendo

    f(x) = a0 + a1x+ . . .+ amxm (1.30)

    donde los coeficientes a0, . . . , am son desconocidos, el problema (1.29) puede ser re-

    planteado como sigue: hallar a0, a1, . . . , am tales que

    (a0, a1, . . . , am) = mn{bi,i=0,...,m}

    (b0, b1, . . . , bm),

    donde

    (b0, b1, . . . , bm) =ni=0

    [yi (b0 + b1xi + . . .+ bmxmi )]

    2

    resolvamos este problema en el caso especial de que m = 1. Puesto que

    (b0, b1) =ni=0

    [y2i + b20 + b

    21x

    2i + 2b0b1xi 2b0yi 2b1xiy

    2i ]

    la grafica de es un paraboloide convexo. El punto (a0, a1) en el que alcanza su

    mnimo satisface las condiciones

    b0(a0, a1) = 0,

    b1(a0, a1) = 0,

    donde el simbolo /bj denota la derivada parcial (esto es , la tasa de variacion ) de

    con respecto a bj , despues de haber congelado las restantes variaables.

    Calculando explicitamente las dos derivadas parciales obtenemosni=0

    [a0 + a1xi yi] = 0,

    ni=0

    [a0xi + a1x2i xiyi] = 0

    que es un sistema de 2 ecuaciones para las 2 incognitas a0 y a1.

    a0(n+ 1) + a1ni=0

    xi =ni=0

    yi,

    a0ni=0

    xi + a1ni=0

    x2i =ni=0

    yixi(1.31)

    Poniendo D = (n+ 1)ni=0

    x2i (ni=0

    xi)2, la solucion se escribe

    a0 =

    ni=0

    yinj=0

    x2j nj=0

    xjni=0

    xiyi

    D

    a1 =

    (n + 1)ni=0

    xiyi nj=0

    xjni=0

    yi

    D

    (1.32)

  • 1. Interpolacion 30

    El correspondiente polinomio f(x) = a0+a1x se conoce como recta de mnimos cuadra-

    dos, o recta de regresion.

    El enfoque de (1.31) puede ser generalizado de varias formas. La primera generalizacion

    es al caso de m arbitrario. El sistema lineal (m+1) (m+1) asociado, que es simetrico,

    tendra la forma:

    a0(n+ 1) +a1ni=0

    xi + . . .+ amni=0

    xmi =ni=0

    yi

    a0ni=0

    xi +a1ni=0

    x2i + . . .+ amni=0

    xm+1i =ni=0

    xiyi

    ......

    ......

    a0ni=0

    xmi +a1ni=0

    xm+1i + . . .+ amni=0

    x2mi =ni=0

    xmi yi

    (1.33)

    Cuando m = n, el polinomio de mnimos cuadrados debe coincidir con el polinomio de

    interpolacion de Lagrange

    n.

    Ejemplo 1.5.1. En la siguiente tabla de datos, se quiere ajustar una cuadratica.

    xi 0.05 0.11 0.15 0.31 0.46 0.52 0.70 0.74 0.82 0.98 1.17

    yi 0.956 0.890 0.832 0.717 0.571 0.539 0.378 0.370 0.3606 0.242 0.104

    Solucion. Para establacer dicha ecuacion usaremos las ecuaciones de 1.33 para m = 2xi = 6,01 n + 1 = 11x2i = 4,6545

    yi = 5,905

    x3i = 4,1150

    xiyi = 2,1839x4i = 3,9161

    x2i yi = 1,3357

    Teniendo el siguiente sisitema de ecuaciones

    11a0 + 6,01a1 + 4,654a2 = 5,905

    6,01a0 + 4,6545a1 + 4,1150a2 = 2,1839

    4,6545a0 + 4,1150a1 + 3,9161a2 = 1,3357

    el resultado es: a0 = 0,998, a1 = 1,018, a2 = 0,225, de modo que con el metodo de

    mnimos cuadrados se obtiene

    y = 0,998 1,018x+ 0,225x2

  • Captulo 2

    INTERPOLACION Y APROXIMACION

    En el subcampo matematico del analisis numerico, se denomina interpolacion a la ob-

    tencion de nuevos puntos partiendo del conocimiento de un conjunto discreto de puntos.

    En ingeniera y algunas ciencias es frecuente disponer de un cierto numero de puntos

    obtenidos por muestreo o a partir de un experimento y pretender construir una funcion

    que los ajuste.

    Otro problema estrechamente ligado con el de la interpolacion es la aproximacion de una

    funcion complicada por una mas simple. Si tenemos una funcion cuyo calculo resulta

    costoso, podemos partir de un cierto numero de sus valores e interpolar dichos datos

    construyendo una funcion mas simple. En general, por supuesto, no obtendremos los

    mismos valores evaluando la funcion obtenida que si evaluamos la funcion original, si

    bien dependiendo de las caractersticas del problema y del metodo de interpolacion usado

    la ganancia en eficiencia puede compensar el error cometido. En todo caso, se trata de,

    a partir de n parejas de puntos (xk; yk), obtener una funcion f que verifique:

    f(xk) = yk; k = 1, 2, ..., n

    A la que se denomina funcion interpolante de dichos puntos. A los puntos xk se les llama

    nodos. Algunas formas de interpolacion que se utilizan con frecuencia son la interpo-

    lacion lineal, la interpolacion polinomica (de la cual la anterior es un caso particular),

    la interpolacion por medio de spline o la interpolacion polinomica de Hermite.

  • 2. Interpolacion y aproximacion 32

    El objetivo principal de la interpolacion y aproximacion de funciones es poder estimar

    valores funcionales a partir de cierto numero de datos iniciales. Este objetivo es funda-

    mental ya que de el se deducen los metodos de derivacion e integracion numericas que

    tendremos ocasion de ver mas adelante.

    Un problema ya clasico es la construccion, o aproximacion de una funcion conocidos

    unos pocos valores. Algunas referencias a este tipo de problemas se remontan al mane-

    jo de tablas trigonometricas y posteriormente logartmicas y exponenciales donde unos

    pocos valores estaban tabulados y para valores intermedios era necesario un proceso de

    interpolacion. Se habla en este caso de un problema de interpolacion de Lagrange. Si

    ademas del valor puntual, anadimos informacion sobre las derivadas estamos ante una

    interpolacion de Hermite.

    Este Capitulo trata sobre como encontrar polinomios interpolantes, mediante la imple-

    mentacion de Interfaces Graficas de Usuario (GUI) en Matlab. Los metodos numericos

    de Interpolacion y aproximacion de funciones suelen ser metodos iterativos que producen

    un polinomio, que se espera, que converja a la funcion.

    No abordaremos la teora de cada metodo, dado que esta se encuentra en el Capitulo

    III: Ecuaciones no Lineales del Seminario de Matematica Pura FUNDAMENTOS DE

    ECUACIONES NO LINEALES, INTERPOLACION, DIFERENCIACION

    E INTEGRACION NUMERICA PARA EL CALCULO CIENTIFICO, aqui

    comparemos los resultados con la implementacion de GUIs.

  • 2. Interpolacion y aproximacion 33

    2.1. Comparacion de Metodos Iteractivos

    En esta seccion analizaremos la solucion del problema propuesto en la pag. 79 del Libro

    Calculo Cientifico con Matlab y Octave cuyo enunciado es el siguiente:

    Problema. Problema 3.1 (Climatologa) La temperatura del aire cerca de la tierra

    depende de la concentracion K de acido carbonico (H2CO3) en el. En la Tabla 3.1

    recogemos, para diferentes latitudes sobre la tierra y para diferentes valores de K, la

    variacion K = K K de la temperatura promedio con respecto a la temperatura

    promedio correspondiente a un valor de referencia K de K. Aqu K se refiere al valor

    medido en 1896, y esta normalizado a uno. En este caso podemos generar una funcion

    que, sobre la base de los datos disponibles, proporcione un valor aproximado de la

    temperatura promedio en cualquier latitud posible y para otros valores de K.

    Solucion. Datos Iniciales:

    x = [55 25 + 5 + 35 + 65];

    y = [3,25 3,2 3,02 3,32 3,1]

  • 2. Interpolacion y aproximacion 34

    Solucion 1. Utilizando el Metodo de Interpolacion de Lagrange.

  • 2. Interpolacion y aproximacion 35

    Solucion 2. Utilizando el Metodo de Diferencias Divididas Arriba.

  • 2. Interpolacion y aproximacion 36

    Solucion 3. Utilizando el Metodo de Diferencias Divididas Abajo.

  • 2. Interpolacion y aproximacion 37

    Solucion 4. Utilizando el Metodo de Polinomica a Trozos - Lineal.

  • 2. Interpolacion y aproximacion 38

    Solucion 5. Utilizando el Metodo de Polinomica a Trozos - Splines.

  • 2. Interpolacion y aproximacion 39

    Solucion 6. Utilizando el Metodo de Polinomica a Trozos - Cubica.

  • 2. Interpolacion y aproximacion 40

    Solucion 7. Utilizando el Metodo de Polinomica a Trozos - Discreta.

  • 2. Interpolacion y aproximacion 41

    Solucion 8. Utilizando el Metodo de Minimos Cuadrados - Grado 2.

  • 2. Interpolacion y aproximacion 42

    Solucion 9. Utilizando el Metodo de Minimos Cuadrados - Grado 3.

  • 2. Interpolacion y aproximacion 43

    Solucion 10. Utilizando el Metodo de Minimos Cuadrados - Grado 4.

  • 2. Interpolacion y aproximacion 44

    Solucion 11. Utilizando el Metodo de Minimos Cuadrados - Grado 5.

  • Captulo 3

    CODIGO FUENTE DE LOS GUIS

    3.1. Interpolacion de Lagrange

    Listing 3.1: Boton Graficar

    f unc t i on pushbutton1_Callback ( hObject , eventdata , handles )

    g l oba l ejes

    X=str2num ( get ( handles . edit1 , ' s t r i n g ' ) ) ;

    Y=str2num ( get ( handles . edit2 , ' s t r i n g ' ) ) ;

    xc=min( X ) ; xd=max(X ) ;

    yc=min( Y ) ; yd=max(Y ) ;

    i f l ength ( X )==length ( Y )

    axes ( handles . grafica )

    ejes=[xc1 xd+1 yc1 yd+1] ;

    nn=length ( X ) ;

    f o r i=1:nn1

    i f X ( i )

  • 3. Codigo Fuente de los GUIS 46

    x l abe l ( 'X ' ) ; y l abe l ( 'Y ' ) ;

    g r i d on

    end

    hold on

    s e t ( handles . pushbutton1 , ' enable ' , ' o f f ' )

    s e t ( handles . pushbutton2 , ' enable ' , 'on ' )

    e l s e

    msgbox ( 'REVISE EL TAMANO DE LOS VECTORES' , 'AVISO ' , 'warn ' ) ;

    end

    Listing 3.2: Boton Calcular

    f unc t i on pushbutton2_Callback ( hObject , eventdata , handles )

    c l c

    g l oba l ejes

    X=str2num ( get ( handles . edit1 , ' s t r i n g ' ) ) ;

    Y=str2num ( get ( handles . edit2 , ' s t r i n g ' ) ) ;

    aa=str2num ( get ( handles . edit3 , ' s t r i n g ' ) ) ;

    n1 = length ( X ) ;

    n = n11;

    L = zer o s ( n1 , n1 ) ;

    i f l ength ( X )==length ( Y )

    f o r k=1:n+1,

    V = 1 ;

    f o r j=1:n+1,

    i f k = j ,

    V = conv (V , poly ( X ( j ) ) ) /( X ( k )X (j ) ) ;

    end

    end

    L (k , : ) = V ;

    end

    C = YL ;

    PX=vpa ( poly2sym (C ) , 7 ) ;

    fa=polyva l (C , aa ) ;

    Pol =char ( PX ) ;

    pa=num2str (fa , ' %20.12 f ' ) ;

    s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;

    s e t ( handles . edit4 , ' s t r i n g ' , Pol ) ;

    p l o t (X , Y , 'om ' ) ;

    g r i d on

    ax i s ( ejes )

    hold on

  • 3. Codigo Fuente de los GUIS 47

    drawnow

    xc=min( X ) ; xd=max(X ) ;

    p l o t (aa , fa , 'om ' ) ;

    hold on

    h2=ezplot (PX , [ xc xd ] ) ;

    s e t ( h2 , 'Color ' , 'b ' , 'LineWidth ' , 2 )

    t i t l e ( [ 'P( x) = ' Pol ] , ' f o n t s i z e ' , 8 , ' f ontwe ight ' , ' bold ' )

    hold off

    s e t ( handles . pushbutton1 , ' enable ' , 'on ' )

    s e t ( handles . pushbutton2 , ' enable ' , ' o f f ' )

    e l s e

    msgbox ( 'REVISE EL TAMANO DE LOS VECTORES' , 'AVISO ' , 'warn ' ) ;

    end

  • 3. Codigo Fuente de los GUIS 48

    3.2. Diferencias Divididas Abajo

    Listing 3.3: Boton Graficar

    f unc t i on pushbutton1_Callback ( hObject , eventdata , handles )

    g l oba l ejes

    X=str2num ( get ( handles . edit1 , ' s t r i n g ' ) ) ;

    Y=str2num ( get ( handles . edit2 , ' s t r i n g ' ) ) ;

    xc=min( X ) ; xd=max(X ) ;

    yc=min( Y ) ; yd=max(Y ) ;

    i f l ength ( X )==length ( Y )

    axes ( handles . grafica )

    ejes=[xc2 xd+2 yc2 yd+2] ;

    nn=length ( X ) ;

    f o r i=1:nn1

    i f X ( i )

  • 3. Codigo Fuente de los GUIS 49

    Listing 3.4: Boton Calcular

    f unc t i on pushbutton2_Callback ( hObject , eventdata , handles )

    c l c

    g l oba l ejes

    X=str2num ( get ( handles . edit1 , ' s t r i n g ' ) ) ;

    Y=str2num ( get ( handles . edit2 , ' s t r i n g ' ) ) ;

    aa=str2num ( get ( handles . edit3 , ' s t r i n g ' ) ) ;

    i f l ength ( X )==length ( Y )

    n=length ( X ) ;

    D=zer o s (n , n ) ;

    D ( : , 1 )=Y ' ;

    %Formula de l a tab la de d i f e r e n c i a d i v i d i da s hacia abajo .

    f o r j=2:n

    f o r k=j : n

    D (k , j )=(D (k , j1)D (k1,j1) ) /( X ( k )X (kj+1) ) ;

    end

    end

    %Determinando l o s c o e f i c i e n t e s de l o s po l i n om ios i n t e r p o l a n t e s de Newton

    C=D (n , n ) ;

    f o r k=(n1) :1:1

    C=conv (C , poly (X (k ) ) ) ;

    m=length ( C ) ;

    C (m )=C (m )+D (k , k ) ;

    end

    PX=vpa ( poly2sym (C ) , 7 ) ;

    fa=polyva l (C , aa ) ;

    Pol =char ( PX ) ;

    x=X (1) : 0 . 1 : X (n ) ;

    t=x ; s=eva l ( PX ) ;

    p l o t (X , Y , 'om ' ) ;

    g r i d on

    xc=min( X ) ; xd=max(X ) ;

    p l o t (aa , fa , 'om ' ) ;

    hold on

    h2=ezplot (PX , [ xc xd ] ) ;

    s e t ( h2 , 'Color ' , 'b ' , 'LineWidth ' , 2 )

    t i t l e ( [ 'P( x) = ' Pol ] , ' f o n t s i z e ' , 8 , ' f ontwe ight ' , ' bold ' )

    hold off

    s e t ( handles . pushbutton1 , ' enable ' , 'on ' )

    s e t ( handles . pushbutton2 , ' enable ' , ' o f f ' )

    e l s e

    msgbox ( 'REVISE EL TAMANO DE LOS VECTORES' , 'AVISO ' , 'warn ' ) ;

    end

    pa=num2str (fa , ' %20.12 f ' ) ;

    s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;

    s e t ( handles . edit4 , ' s t r i n g ' , Pol ) ;

  • 3. Codigo Fuente de los GUIS 50

    3.3. Diferencias Divididas Arriba

    Listing 3.5: Boton Graficar

    f unc t i on pushbutton1_Callback ( hObject , eventdata , handles )

    g l oba l ejes

    X=str2num ( get ( handles . edit1 , ' s t r i n g ' ) ) ;

    Y=str2num ( get ( handles . edit2 , ' s t r i n g ' ) ) ;

    xc=min( X ) ; xd=max(X ) ;

    yc=min( Y ) ; yd=max(Y ) ;

    i f l ength ( X )==length ( Y )

    axes ( handles . grafica )

    ejes=[xc2 xd+2 yc2 yd+2] ;

    nn=length ( X ) ;

    f o r i=1:nn1

    i f X ( i )

  • 3. Codigo Fuente de los GUIS 51

    Listing 3.6: Boton Calcular

    f unc t i on pushbutton2_Callback ( hObject , eventdata , handles )

    c l c

    g l oba l ejes

    X=str2num ( get ( handles . edit1 , ' s t r i n g ' ) ) ;

    Y=str2num ( get ( handles . edit2 , ' s t r i n g ' ) ) ;

    aa=str2num ( get ( handles . edit3 , ' s t r i n g ' ) ) ;

    i f l ength ( X )==length ( Y )

    n=length ( X ) ;

    D=zer o s (n , n ) ;

    D ( : , 1 )=Y ' ;

    %Formula de l a tab la de d i f e r e n c i a d i v i d i da s hacia a r r i ba .

    f o r j=2:n

    f o r k=j : n

    D (k , j )=(D (k , j1)D (k1,j1) ) /( X ( k )X (kj+1) ) ;

    end

    end

    %Determinando l o s c o e f i c i e n t e s de l o s po l i n om ios i n t e r po l an t e de Newton

    C=D (n , n ) ;

    f o r k=(n1) :1:1

    C=conv (C , poly (X (k ) ) ) ;

    m=length ( C ) ;

    C (m )=C (m )+D (k , k ) ;

    end

    PX=vpa ( poly2sym (C ) , 7 ) ;

    fa=polyva l (C , aa ) ;

    Pol =char ( PX ) ;

    x=X (1) : 0 . 1 : X (n ) ;

    t=x ; s=eva l ( PX ) ;

    p l o t (X , Y , 'om ' ) ;

    g r i d on

    xc=min( X ) ; xd=max(X ) ;

    p l o t (aa , fa , 'om ' ) ;

    hold on

    h2=ezplot (PX , [ xc xd ] ) ;

    s e t ( h2 , 'Color ' , 'b ' , 'LineWidth ' , 2 )

    t i t l e ( [ 'P( x) = ' Pol ] , ' f o n t s i z e ' , 8 , ' f ontwe ight ' , ' bold ' )

    hold off

    s e t ( handles . pushbutton2 , ' enable ' , ' o f f ' )

    e l s e

    msgbox ( 'REVISE EL TAMANO DE LOS VECTORES' , 'AVISO ' , 'warn ' ) ;

    end

    pa=num2str (fa , ' %20.12 f ' ) ;

    s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;

    s e t ( handles . edit4 , ' s t r i n g ' , Pol ) ;

  • 3. Codigo Fuente de los GUIS 52

    3.4. Interpolacion a Trozos

    Listing 3.7: Boton Calcular

    f unc t i on pushbutton1_Callback ( hObject , eventdata , handles )

    g l oba l lin spl cub near

    X=str2num ( get ( handles . edit1 , ' s t r i n g ' ) ) ;

    Y=str2num ( get ( handles . edit2 , ' s t r i n g ' ) ) ;

    aa=str2num ( get ( handles . edit3 , ' s t r i n g ' ) ) ;

    xc=min( X ) ; xd=max(X ) ;

    yc=min( Y ) ; yd=max(Y ) ;

    i f l ength ( X )==length ( Y )

    axes ( handles . grafica )

    ejes=[xc2 xd+2 yc2 yd+2] ;

    ax i s ( ejes )

    x l abe l ( 'X ' ) ; y l abe l ( 'Y ' ) ;

    g r i d on

    hold on

    xf=xc : 0 . 0 1 : xd ;

    opcion= get ( handles . popupmenu1 , 'Value ' ) ;

    switch opcion

    case 1

    msgbox ( ' E l i j a uno de l o s metodos ' , 'warn ' ) ;

    case 2

    pa=num2str ( lin , ' %20.10 f ' ) ;

    s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;

    lin2=inte r p1 (X , Y , xf ) ;

    p l o t ( xf , lin2 , 'Color ' , ' r ' )

    p l o t (X , Y , 'om ' ) ;

    p l o t ( aa , lin , ' b ' ) ;

    case 3

    pa=num2str ( spl , ' %20.10 f ' ) ;

    s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;

    spl2=inte r p1 (X , Y , xf , ' s p l i n e ' ) ;

    p l o t ( xf , spl2 , 'Color ' , 'b ' )

    p l o t (X , Y , 'om ' ) ;

    p l o t ( aa , spl , ' go ' ) ;

    case 4 ;

    pa=num2str ( cub , ' %20.10 f ' ) ;

  • 3. Codigo Fuente de los GUIS 53

    s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;

    cub2=inte r p1 (X , Y , xf , ' cubic ' ) ;

    p l o t ( xf , cub2 , 'Color ' , ' g ' )

    p l o t (X , Y , 'om ' ) ;

    p l o t ( aa , cub , ' r ' ) ;

    case 5

    pa=num2str ( near , ' %20.10 f ' ) ;

    s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;

    near2=inte r p1 (X , Y , xf , ' nea r e s t ' ) ;

    p l o t ( xf , near2 , ' Color ' , 'k ' )

    p l o t (X , Y , 'om ' ) ;

    p l o t ( aa , near , ' b ' ) ;

    end

    hold on

    e l s e

    msgbox ( 'REVISE EL TAMANO DE LOS VECTORES' , 'AVISO ' , 'warn ' ) ;

    end

  • 3. Codigo Fuente de los GUIS 54

    3.5. Minimos Cuadrados

    Listing 3.8: Boton Graficar

    f unc t i on pushbutton1_Callback ( hObject , eventdata , handles )

    g l oba l ejes

    X=str2num ( get ( handles . edit1 , ' s t r i n g ' ) ) ;

    Y=str2num ( get ( handles . edit2 , ' s t r i n g ' ) ) ;

    xc=min( X ) ; xd=max(X ) ;

    yc=min( Y ) ; yd=max(Y ) ;

    i f l ength ( X )==length ( Y )

    axes ( handles . grafica )

    ejes=[xc1 xd+1 yc1 yd+1] ;

    nn=length ( X ) ;

    f o r i=1:nn1

    i f X ( i )

  • 3. Codigo Fuente de los GUIS 55

    Listing 3.9: Boton Calcular

    f unc t i on pushbutton2_Callback ( hObject , eventdata , handles )

    c l c

    g l oba l ejes

    X=str2num ( get ( handles . edit1 , ' s t r i n g ' ) ) ;

    Y=str2num ( get ( handles . edit2 , ' s t r i n g ' ) ) ;

    n=str2num ( get ( handles . edit3 , ' s t r i n g ' ) ) ;

    aa=str2num ( get ( handles . edit6 , ' s t r i n g ' ) ) ;

    i f ( n/ f l o o r ( n )==1 & n>=1 )

    i f l ength ( X )==length ( Y )

    p=p o l y f i t (X , Y , n ) ;

    PX=vpa ( poly2sym ( p ) , 7 ) ;

    fa=polyva l (p , aa ) ;

    Pol =char ( PX ) ;

    pa=num2str (fa , ' %20.12 f ' ) ;

    s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;

    s e t ( handles . edit4 , ' s t r i n g ' , Pol ) ;

    p l o t (X , Y , 'om ' ) ;

    g r i d on

    hold on

    drawnow

    xc=min( X ) ; xd=max(X ) ;

    p l o t (aa , fa , 'om ' ) ;

    hold on

    h2=ezplot (PX , [ xc xd ] ) ;

    s e t ( h2 , 'Color ' , 'b ' , 'LineWidth ' , 1 . 5 )

    t i t l e ( [ 'P( x) = ' Pol ] , ' f o n t s i z e ' , 8 , ' f ontwe ight ' , ' bold ' )

    hold off

    s e t ( handles . pushbutton1 , ' enable ' , 'on ' )

    s e t ( handles . pushbutton2 , ' enable ' , ' o f f ' )

    c l c

    e l s e

    msgbox ( 'REVISE EL TAMANO DE LOS VECTORES' , 'AVISO ' , 'warn ' ) ;

    end

    e l s e

    msgbox ( 'EL GRADO DEBE SER UN NUMERO ENTERO POSITIVO ' , 'AVISO ' , 'warn ' ) ;

    end

  • BIBLIOGRAFIA

    [1] Buhmann, M. D. (2004). Radial Basis Functions: Theory and Implementations.

    Cambridge University Press. United Kingdom.

    [2] Aleman M.; Alvarez L.; Sanchez J. Analisis Numerico[en lnea]. [consulta 2012].

    [3] Burden R.L; Faires J.D . (2001). Numerical Abalysis. Cengage Learning Latin

    America.

    [4] Cobos J. Apuntes de Calculo Numerico[en lnea].

    http://ma1.eii.us.es/Material/Cal_Num_itis_Apuntes.pdf [consulta

    2012]

    [5] Comer E.(2009) Metodos Numericos Instituto Tecnologico de Tijuana.

    [6] Mathews J.; Fink K.(2000) Metodos Numericos con MATLAB. Prentice Hall,

    Madrid.

    [7] Meja C.(2002) Invitacion al Analisis Numerico. Universidad Nacional de Colom-

    bia, Medelln.

    [8] Mora W.F.(2010) Introduccion a los Metodos Numericos. Instituto Tecnologico de

    Costa Rica.

    [9] Muller H. (1996) Una Introduccion al Analisi Numerico. Universidad Mayor de

    San Simon. Cochabamba, Bolivia.

    [10] Nakamura, S. (1992). Metodos Numericos Aplicados con Software. Pearson Edu-

    cacion.

  • BIBLIOGRAFIA 57

    [11] A. Quarteroni, F. Saleri. (2006). Calculo Cientifico con MATLAB y Octave.

    Springer-Verlag, Italia, Milano.

    [12] Velasquez J.(2007) Analisis Numerico. Ediciones Uninorte.

    [13] Won Y. Yang , Wenwu Cao , Tae-Sang Chung , John Morris(2005) Applied Nu-

    merical Methods Using MATLAB. John Wiley Sons.

    [14] V. Dominguez. L. Rapun Matlab en cinco lecciones de Numerico[en lnea].

    http://www.unavarra.es/personal/victor dominguez/ [consulta 2012]

    [15] Carrasco V.(2011) Metodos Numericos Aplicados a la Ingeniera Problemas en

    Polymath y Matlab. MACRO

    [16] Morales M.(2010) Matlab R2010a Metodos Numericos con Visualizacion Grafica.

    MACRO

    [17] Amancio R., Orbegoso G., Munoz G., Villalta R. (2010) Matlab 2010 - Software

    para ciencia e ingeniera. MACRO

    [18] Moler, C. (2004) Numerical computing with Matlab. SIAM

    [19] Pineiro G. APUNTES DE MATLAB [en lnea].

    http://www.uhu.es/candido.pineiro/docencia/apuntesmatlab.pdf [consul-

    ta 2012]

    [20] J. Cooper A Matlab Companior for Multivariable Calculus

    [21] Chavil M. Sistema experto en Maple Para el analisis de Curvas y superficies en

    R3

    [22] Gonzales M., Sanchez R. Graficas de curvas y superficies usando Matlab