SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Lima - 2010



             T´picos de Matlab: Aplicaciones a M´todos Num´ricos
              o                                 e         e
                                                                       1
                                      Jos´ Walter Ysique Quesqu´n
                                         e                     e
                                         jwysiqueq@pucp.edu.pe

                                                   Resumen
           Uso del paquete de software matem´tico MatLab para el c´lculo de algunos m´todos num´ri-
                                                a                     a                 e          e
       cos. Se definen funciones en las que se implementan m´todos conocidos para calcular,por ejemplo
                                                              e
       el polinomio interpolador, ra´ıces,derivada e integral de una funci´n. Adem´s se aborda algunas
                                                                          o        a
       nociones con respecto a la soluci´n de ecuaciones diferenciales ordinarias.
                                         o

       Palabras clave: MatLab,interpolador,derivada,integral,ecuaciones diferenciales.


                                                 Abstract

          Use of the mathematical software package MatLab for the calculation of some numerical
       methods. Functions are defined in which known methods are implemented to calculate, for
       example the interpolador polynomial, roots, derived and integral of a function. In addition one
       approaches some slight knowledge with respect to the solution of ordinary differential equations.
       Keywords: MatLab, interpolador, derived,integral,differential equations.




     ————————————————————————————————————————
1
    Magister en Matem´ticas .
                     a
Introducci´n
                                                   o
    Las t´cnicas computacionales permiten abordar problemas de manera num´rica, anal´
          e                                                                             e          ıtica o
gr´fica, por ejemplo los sistemas de ecuaciones lineales y no lineales, las soluciones de ecuaciones
  a
diferenciales ordinarias y parciales, la evaluaci´n num´rica de derivadas, de integrales, el procesamien-
                                                 o       e
to de datos experimentales, etc.
    MATLAB (MATatrix LABoratory) es un lenguaje de alto nivel y un ambiente interactivo creado
por MathWorks. MATLAB est´ dise˜ ado para realizar r´pida y eficientemente tareas matem´ticas
                                  a      n                     a                                    a
computacionalmente intensivas. El programa cuenta con muchas funciones que permiten hacer todas
las operaciones matem´ticas elementales. Los gr´ficos generados por el computador usando Mat-
                         a                            a
lab son utiles para mostrar la evoluci´n de diversos sistemas, como la formaci´n de patrones, el
         ´                                 o                                          o
procesamiento de im´genes, etc.
                      a
    Se espera incentivar al lector en el estudio y aplicaci´n de los conceptos fundamentales de las t´cni-
                                                           o                                         e
cas num´ricas usando el desarrollo de algoritmos matem´ticos. Asimismo, realizar la implementaci´n
         e                                                   a                                          o
del programa correspondiente usando el entorno integrado del Matlab.




                                                    i
´
Indice
1 Interpolaci´n.
              o                                                                                                                                                      1
  1.1 Interpolaci´n de Lagrange. . .
                 o                      .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   1
  1.2 Interpolaci´n de Hermite . .
                 o                      .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   3
       1.2.1 Polinomio de Hermite       .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   3
  1.3 Funci´n Spline . . . . . . . .
            o                           .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   4
  1.4 Ejemplo de Aplicaci´n . . . .
                         o              .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   5

2 Ra´
    ıces de Ecuaciones                                                                                                                                               6

3 Presentaci´n de Algunos M´todos.
            o                  e                                                                                                                                     6
  3.1 M´todo de Bisecci´n . . . . . . . .
        e              o                            .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   6
  3.2 M´todo de la Secante . . . . . . . .
        e                                           .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   7
  3.3 M´todo de Falsa Posici´n . . . . . .
        e                   o                       .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   8
  3.4 M´todo de Newton . . . . . . . . .
        e                                           .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   9

4 Derivada de una funci´n
                       o                                                                                                                                             10

5 Integraci´n
           o                                                                                                                                                         12

6 Ecuaciones Diferenciales                                                                         13
  6.1 Ley de Malthus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

7 Bibliograf´
            ıa                                                                                                                                                       15




                                                            ii
1     Interpolaci´n.
                 o
Sea P = {(xi , yi = f (xi )) : i = 1, · · ·, n, n ∈ N} un conjunto de puntos dado. Se denomina “funci´n
                                                                                                     o
interpolante” a una funci´n cuya gr´fica pasa por todos los puntos del conjunto P .
                            o             a




                                                       Figura 1:


    • Las funciones m´s usadas para interpolar son las polinomiales debido a que ´stas son m´s f´ciles
                       a                                                         e          a a
      de derivar e integrar.

    • Se dispone de dos m´todos generales de interpolaci´n polin´mica: Interpolaci´n de Lagrange e
                          e                             o       o                 o
      Interpolaci´n de Hermite.
                 o

1.1     Interpolaci´n de Lagrange.
                   o
Sea f la funci´n a interpolar, sean P = {(xi , yi = f (xi )) : i = 1, · · ·, n, n ∈ N} los puntos
               o
conocidos,donde f (xi ) es la funci´n evaluada en cada punto xi . El polinomio interpolador de
                                   o
grado m de Lagrange es definido por:
                                                  n
                                      Pn =            f (xi )Li (x) , n ≤ m .                      (1)
                                              i=0

donde los Li (x) son llamados polinomios de Lagrange y est´n definidos por:
                                                          a
                                              n
                                                       x − xj
                                  Li (x) =                     , i = 0, 1, · · ·, n .              (2)
                                             j=0j=i    xi − xj

-Propiedades de los Polinomios de Lagrange:
                   0, si i = j;
    • Li (xj ) =
                   1, i=j.

    • El grado de Li (x) es igual a n cualquiera que sea i, donde 0 ≤ i ≤ n .




                                                            1
-Implementaci´n del m´todo usando MatLab
                o       e
               %Algoritmo de Lagrange
               %Ingresar los valores conocidos de x
               %Ingresar los valores conocidos de y
               %Ingresar los valores a interpolar xi
               %muestra el polinomio de lagrange y los valores yi

               function Lagrange(x,y,xi);
                   p=0;
                   syms t;
                   n=length(x);
                   yi=zeros(size(xi));
                for i=1:n
                   z=ones(size(xi));
                   L=1;
                for j=1:n
                 if i~=j
                    L=L*(t-x(j))/(x(i)-x(j));
                    z=z.*(xi-x(j))/(x(i)-x(j));
                 end
                end
                yi=yi+z*y(i);
                p=p+L*y(i);
                p=simplify(p);
               end
               polinomio=p
               yi


Ejemplo 1. Sea f (x) = x21   +1
                                  una funci´n tal que x0 = −2, f (x0 ) = 1/5, x1 = −1, f (x1 ) =
                                           o
1/2, x2 = 0, f (x2 ) = 1 . Su polinomio interpolador de Lagrange es:
                                               2
                                   P2 (x) =         f (xi ) · Li (x) ,
                                              i=0

donde :

                                             (x + 1)x     x2 x
                                L0 (x) =                =   +
                                           (−2 + 1)(−2)   2   2
                                             (x + 2)x
                                L1 (x) =                = x2 − 2x
                                           (−1 + 2)(−1)
                                       (x + 2)(x + 1)   x2 3x
                            L2 (x) =                  =   +   +1 .
                                           (2)(1)       2   2
Luego:
                                       1             1
                            P2 (x) =     · L0 (x) + · L1 (x) + 1 · L2 (x)
                                       5             2
                                                   2
                                                  x    3x
                                       P2 (x) =      +    +1 .
                                                  10    5


                                                    2
Usando la funci´n “Lagrange” en MatLab, ingresamos la orden :
                  o

        Lagrange([-2 -1 0],[1/5 1/2 1],[-1.5 -0.5])


en donde xi=[-1.5 -0.5] son los valores a interpolar. Como resultado se mostrar´:
                                                                               a

         polinomio = 1/10*t^2+3/5*t+1
                yi = 0.3250    0.7250



1.2     Interpolaci´n de Hermite
                   o
Teniendo en cuenta la interpolaci´n de Lagrange, se puede exigir otro tipo de condiciones,por ejemplo
                                     o
que adem´s de coincidir los valores P (xi ) = f (xi ) = yi , tambi´n coincidan el de sus derivadas:
             a                                                     e
P ′ (xi ) = f ′ (xi ) = yi para todo xi con i = 0, · · ··, n .
                         ′

As´ tenemos los siguientes datos:
    ı

                                              x0     x1       ···   xn
                                              y0     y1       ···   yn
                                               ′      ′              ′
                                              y0     y1       ···   yn


                                                    Cuadro 1:

   Observamos que se tiene 2(n + 1) condiciones, por lo que buscaremos un polinomio de grado
2n + 1 que verifique la condiciones dadas en el Cuadro (1).

1.2.1    Polinomio de Hermite
Se define como:                                 n                     n
                                                                                    ′
                                P2n+1 (x) =         hj (x) · yj +         gj (x) · yj ,           (3)
                                              j=0                   j=0

donde hj (x) y gj (x) est´n definidos en t´rminos de polinomios de Lagrange:
                         a               e

                 hj (x) = [1 − 2(x − xj ) · L′j (xj )] · L2 (x) , gj (x) = (x − xj ) · L2 (x) .
                                                          j                             j         (4)

Implementaci´n del m´todo en MatLab :
            o       e

           %Algoritmo    generalizado de Hermite
           % ingresar    valores conocidos de x
           % ingresar    valores conocidos de y
           % ingresar    valores de las derivadas dy
           % ingresar    valores a interpolar xi

             function Hermite(x,y,dy,xi)
              p=0;
              syms t;
              n=length(x);
              yi=zeros(size(xi));
              for i=1:n

                                                          3
l=1;
                 L=1;
                 M=0;
                  for j=1:n
                    if i~=j
                       l=l.*(xi-x(j))/(x(i)-x(j));%polinomio lagrange
                       L=L.*1/(x(i)-x(j)); %factor constante en derivada
                       M=M+(x(i)-x(j));% acumulando derivadas
                       F=L.*M ; %resultado delagrange derivado
                     hj=((1-2.*(xi-x(i)).*F)).*l.^2; %coeficiente en hemite
                     gj=(xi-x(i)).*l.^2 ;%coeficiente en hemite
                  end
                 end
                yi=hj.*y(i)+gj.*dy(i);
                p=p+yi;
                end
                p

                             1
Ejemplo 2. Sea f (x) =     x2 +1
                                   la funci´n a interpolar, con los siguientes datos adicionales:
                                           o

                                    i=0     i=1    i=2      i=3      i=4
                              xi     −2      −1     0         1         2
                              yi     1/5     1/2    1        1/2      1/5
                               ′
                              yi    4/25     1/2    0       −1/2   −4/25 .


                                                Cuadro 2:
Evaluar el polinomio de Hermite en los valores {−1 · 5, −0 · 5, 0 · 5, 1 · 5} .

Soluci´n:
      o
Usando la funci´n “Hermite” en MatLab, ingresamos la orden :
               o

 Hermite([-2 -1 0         1   2],[1/5 1/2 1 1/2 1/5],
         [4/25 1/2        0   -1/2 -4/25],[-1.5 -0.5 0.5              1.5])


y se mostrar´ como respuesta:
            a

      p =   1.1099      0.5692        0.5692       1.1099



1.3    Funci´n Spline
            o
Una “funci´n spline de grado k ” con valores conocidos en x0 , x1 , · · ·, xn es una funci´n S(x)
            o                                                                              o
formada por varios polinomios cada uno definido sobre un subintervalo [xi , xi+1 ] y se unen bajo las
siguientes condiciones de continuidad:

   • En el intervalo [xi , xi+1 >, S(x) es un polinomio de grado menor o igual a k .

   • S(x) admite derivada continua de orden (k − 1) en [x0 , xn ] .

                                                     4
-La interpolaci´n m´s frecuente es por medio de splines de grado 3, llamados “splines c´ bicos”.
               o     a                                                                    u
-MatLab tiene incorporado el interpolador “spline cubic”, se ejecuta siguiendo la siguiente sintaxis:
yi = spline(x, y, xi), donde los valores y representa los valores de la funci´n evaluada en los puntos
                                                                             o
x y los puntos xi son los puntos a interpolar.

Ejemplo 3.
     x = 0:10;
     y = x.*cos(x);
     xi = 0:.25:10;
     yi = spline(x,y,xi);
     hold on
     plot(x,y,’o’,xi,yi) % ubicaci´n de los puntos dados
                                   o
                          % y la gr´fica del polinomio interpolador
                                   a




                                             Figura 2:



1.4    Ejemplo de Aplicaci´n
                          o
Ejemplo 4. Con ayuda de la funci´n de Matlab ginput realice un dibujo de su mano. Para esto
                                      o
coloque su mano en la pantalla de su monitor y seleccione unos 30 a 35 puntos del contorno de su
mano. Ahora imagine que las abscisas y las ordenadas de los datos que recolect´ son funciones de una
                                                                              o
variable independiente que va desde 1 hasta el n´mero de puntos. Luego realice una interpolaci´n de
                                                u                                              o
cada una de estas tablas en una rejilla muy fina. Seleccione el m´todo de interpolaci´n que considere
                                                                e                   o
el mejor para este caso.
Soluci´n: Definimos en MatLab la siguiente funci´n que realiza lo pedido:
      o                                           o

                 % N es numero de puntos
                 %get consigue las propiedades del objeto
                 %get(h,’PropertyName’)
                 %screensize tama~o de la pantalla
                                  n
                 %figure(’position’,get(0,’screensize’))
                 % ginput permite seleccionar puntos de la figura con el mouse
                 function mano(N)
                  figure(’position’,get(0,’screensize’))
                  axes(’position’,[0 0 1 1])
                  [x,y] = ginput(N);

                                                  5
N = length(x);
                       n =(1:N)’;
                       xi=(1:0.05:N)’;
                       u = spline(n,x,xi);
                       v = spline(n,y,xi);
                   plot(x,y,’ro’,u,v,’-’);



2     Ra´
        ıces de Ecuaciones
En esta secci´n nos ocuparemos de encontrar las ra´ de ecuaciones no lineales. Esto es, encontrar
              o                                   ıces
los ceros de funciones. El proceso a seguir es:

    • Ubicar intervalos [aj , bj ] en donde se encuentran las ra´
                                                                ıces, para esto hacemos uso del Teorema
      del Valor Intermedio . Podemos optar por hacer la gr´fica de la funci´n .
                                                               a                o

    • En cada intervalo contruir una sucesi´n xn ∈ [aj , bj ] tal que limn→∞ xn = rj , donde rj es
                                           o
      un cero de la fuci´n.
                        o

    • Lo anterior es un proceso iterativo mediante el cual se busca encontrar una mejor aproximaci´n
                                                                                                  o
      de los ceros de una funci´n. Se termina cuando se impone alg´n criterio de tolerancia. Por
                                 o                                      u
      ejemplo : |xn+1 − xn | < ǫ, para ǫ > 0 bastante peque˜ o.n


3     Presentaci´n de Algunos M´todos.
                o              e
Presentaremos la implementaci´n de algunos m´todos en Matlab mediante un ejemplo:
                             o              e

Ejemplo 5. Hallar las ra´
                        ıces de la ecuaci´n:
                                         o

                   sin(sqrt(sec(x) + (x3 ) ∗ exp(5 ∗ x/tan(x)))) − exp(−1 ∗ x) = 0

en el intervalo [0 · 17, 0 · 81] .
Primero definimos una funci´n en Matlab:
                                o

           function y=f(x)
              y=sin(sqrt(sec(x)+(x^3)*exp(5*x/tan(x))))-exp(-1*x);                .


La cual es guardada con el nombre de f .

3.1    M´todo de Bisecci´n
        e               o
Definimos una funci´n para este m´todo:
                  o             e


           function MB=biseccion(a,b,f,tol);
           % Esta funci´n aplica el m´todo de bisecci´n para
                       o             e               o
           % ubicar raices.
           % a y b son extremos del intervalo donde se ubica la ra´z
                                                                  ı
           % n indica el n´mero de la iteraci´n
                          u                  o

                                                   6
% f es la funci´n
                          o
          % tol= tolerancia
            error=1;%error inicial
            f_ant=feval(f,b);
          % f_ant indica f anterior ,feval(f,b)indica f evaluado en b.
            n=1; while (error>tol)
            f_a=feval(f,a);
            f_b=feval(f,b);
            m =(a+b)/2;
            f_m=feval(f,m);
            error=abs(f_m-f_ant);
            fprintf(’n=%d, a= %5.8f,b=%5.8f,m=%5.8f,f(m)=%5.8f,
                      error=%5.8fn’,n,a,b,m,f_m,error)
            if f_a == 0,
             W=sprintf(’n ra´z en x = %5.8f ’, a);
                              ı
             disp(W);
             return
            end
           if f_b == 0
            W=sprintf(’n ra´z en x = %5.8f ’, b);
                             ı
            disp(W);
            return
            end
           if (f_a*f_m)<0
            b= m;
           else
            a= m;
           end
            f_ant=f_m;
            n=n+1;
           end;
           W=sprintf(’n ra´z en x = %5.8f ’, m);
                            ı
         disp(W);


Para nuestro ejemplo ejecutamos la orden:
      biseccion(0.17,0.81,’f’,0.5*10^(-8))       ,


obteniendo como resultado:
        ra´z en x = 0.32913022
          ı                        .



3.2   M´todo de la Secante
       e
Definimos una funci´n para este m´todo:
                  o             e
        function MS=secante(x1,x2,f,tol)
         % Esta funci´n aplica el m´todo de la secante para ubicar
                     o             e

                                             7
% ra´ces de una funci´n.
             ı                 o
         % f es la funci´n que ingresamos (a ser llamada)
                         o
         % tol es la tolerancia que deseamos
         % x1 y x2 son los extremos iniciales del intervalo en
         % el que est´ la ra´z
                      a      ı
         % delta es el tama~o del nuevo interv. en el q’ est´ la ra´z
                           n                                 a     ı
        f1=feval(f,x1);
        f2=feval(f,x2);
          x_nuevo=x2;
         for n=2:30
           x=x2+f2*(x2-x1)/(f1-f2);
          fx=feval(f,x);
          x1=x2;
          f1=f2;
          delta=abs(x2-x);
          x2=x;
          f2=fx;
          fprintf(’n = %d, x = %5.8f, fx = %5.8f n’,n,x,fx)
           if delta < tol,
               break,
           end
         end
        fprintf(’n ra´z en x = %5.8f ’, x);
                       ı


Para nuestro ejemplo ejecutamos la orden:
      secante(0.17,0.81,’f’,0.5*10^(-8))        ,


obtenemos como resultado:
         ra´z en x = 0.32913022 .
           ı



3.3   M´todo de Falsa Posici´n
       e                    o
Definimos una funci´n para este m´todo:
                  o             e
          function MFP=falsaposicion(x1,x2,f,tol)
           % Esta funci´n aplica el m´todo de Falsa Posici´n
                       o             e                    o
           % para hallar las ra´ces de una funci´n.
                               ı                o
           % f es la funci´n que ingresamos
                          o
           % tol es la tolerancia que deseamos
           % x1 y x2 son los extremos del intervalo donde se
           % encuentra la ra´z
                             ı
          f1=feval(f,x1); f2=feval(f,x2); x_nuevo=x2;
           if f1*f2<0
             for n=2:30
               x=x2+f2*(x2-x1)/(f1-f2);
              fx=feval(f,x);

                                            8
if fx*f1>0
                 x1=x;f1=fx;
             else
                 x2=x;f2=fx;
             end
               fprintf(’n = %d, x = %5.8f, fx = %5.8f n’,n,x,fx)
             if abs(x_nuevo-x)<tol,
               break,
             end
               x_nuevo=x;
            end
           else
           disp(’La ra´z debe estar en el intervalo [x1,x2]’)
                       ı
           end
           fprintf(’n ra´z en x = %5.8f ’, x_nuevo);
                          ı


Para nuestro ejemplo ejecutamos la orden:

      falsaposicion(0.17,0.81,’f’,0.5*10^(-8))            ,


obteniendo como resultado:

        ra´z en x = 0.32913022
          ı                          .



3.4    M´todo de Newton
        e
Presentaremos la implementaci´n del m´todo de Newton en una variable. Este m´todo necesita a
                                o       e                                          e
diferencia de los anteriores,una aproximaci´n inicial de la ra´
                                           o                  ız,tambi´n la derivada de la funci´n.
                                                                      e                         o
Primero definimos una funci´n en MatLab para la derivada de la funci´n de la cual se quiere hallar
                             o                                         o
su ra´
     ız.
Para nuestro ejemplo:

              function y=derivada(x)
               y=1/2*cos((sec(x)+x^3*exp(5*x/tan(x)))^(1/2))/(sec(x)
                 +x^3*exp(5*x/tan(x)))^(1/2)*(sec(x)*tan(x)
                 +3*x^2*exp(5*x/tan(x))+x^3*(5/tan(x)
                 -5*x/tan(x)^2*(1+tan(x)^2))*exp(5*x/tan(x)))+exp(-x);



Implementaci´n de MatLab del m´todo de Newton para una variable:
            o                 e

              function N=newton1v(xo,f,df,tol)
               % Esta funci´n aplica elm´todo de una variable
                           o            e
               % para hallar la ra´z de una funci´n.
                                  ı              o
               % xo es la aproximacion inicial de la ra´z
                                                       ı
               % f es la funcion
               % df es la derivada de la funcion

                                                9
% tol=tolerancia
                 error=1; x_ant=xo; n=1; while (error>tol)
                 x_nuevo=x_ant-feval(f,x_ant)/feval(df,x_ant);
                 error=abs(x_nuevo-x_ant);
                 W=fprintf(’n=%d,x_ant=%5.8f,x_nuevo=%5.8f,
                            error=%5.8f’,n,x_ant,x_nuevo,error);
                 disp(W);
                 x_ant=x_nuevo;
                 n=n+1;
                 end;
                fprintf(’n ra´z en x=%5.8f’,x_ant);
                              ı

Para nuestro ejemplo ejecutamos la orden:
               newton1v(0.30,’f’,’derivada’,0.5*10^(-8))                ,

obteniendo como resultado:
            ra´z en x=0.32913022
              ı                          .



4     Derivada de una funci´n
                           o
Ejemplo 6. Considere la funci´n f (x) = xexp(x) . Determinar aproximaciones de f ′ (2) , para
                                 o
cada uno de los siguientes pasos h = 0 · 5, 0 · 45, · · ·, 0 · 05 ; usando las f´rmulas de diferencia hacia
                                                                                o
atr´s, diferencia hacia delante y diferencia central. Para visualizar como la aproximaci´n mejora con
   a                                                                                         o
el decrecimiento del paso, graficar el error como funci´n de h en cada caso.
                                                            o
   soluci´n:
         o
Diferencia hacia adelante:
                  %derivada de la funci´n Y =x.*exp(x) en el punto x=2
                                       o
                  %usando diferencia hacia adelante con dos puntos,
                  %se grafica el error como funci´n del paso.
                                                 o
                   xo=2;
                   h=0.5:-0.05:0.05;
                   n = length(h)-1;
                   disp(’ DIFERENCIA HACIA ADELANTE ’);
                   for j=1:length(h)
                    x1=xo;
                    x2=xo+h;
                    y1=x1.*exp(x1);
                    y2=x2.*exp(x2);
                    y=(y2-y1)./(h);
                   end
                  fprintf(’n h=%5.2f’,h);
                  fprintf(’n y=%5.8f’,y);
                    w=abs(exp(2)+2.*exp(2)- y);%error
                  plot(h,abs(exp(2)+2.*exp(2)- y),’ro’), grid


                                                    10
Diferencia hacia atr´s:
                       a


             %derivada de la funci´n Y =x.*exp(x) en elpunto x=2 usando
                                  o
             %diferencia hacia atras con dos puntos, se grafica el
             %error como funci´n del paso.
                               o
              xo=2;
              h=0.5:-0.05:0.05;
              n = length(h)-1;
              disp(’ DIFERENCIA HACIA ATRAS ’);
              for j=1:length(h)
               x1=xo;
               x2=xo-h;
               y1=x1.*exp(x1);
               y2=x2.*exp(x2);
               y=(y1-y2)./(h);
              end
             fprintf(’n h=%5.2f’,h);
             fprintf(’n y=%5.8f’,y);
             w=abs(exp(2)+2.*exp(2)- y);%error
             plot(h,abs(exp(2)+2.*exp(2)- y),’ro’), grid


Diferencia central:


                 %derivada de la funci´n Y =x.*exp(x) en el
                                      o
                 %punto x=2 usando diferencia central con dos
                 %puntos, se grafica el error como funci´n del paso
                                                        o
                 xo=2;
                 h=0.5:-0.05:0.05;
                 n =length(h)-1;
                 disp(’ DIFERENCIA CENTRAL ’);
                  for j=1:length(h)
                   x1=xo-h;
                   x2=xo+h;
                   yo=xo.*exp(xo);
                   y1=x1.*exp(x1);
                   y2=x2.*exp(x2);
                   y=(y2-y1)./(2.*h);
                  end
                 fprintf(’n h=%5.2f’,h);
                 fprintf(’n y=%5.8f’,y);
                 w=abs(exp(2)+2.*exp(2)- y);%error
                 plot(h,abs(exp(2)+2.*exp(2)- y),’ro’), grid     .




                                           11
5     Integraci´n
               o
Ejemplo 7. Evaluar num´ricamente las siguientes integrales impropias realizando las transforma-
                          e
ciones que crea conveniente.
                                            ∞    1
                                    a)                dx
                                          0    1 + x2
                                            1 cos(x)
                                     b)         √ dx
                                          0       x
   Soluci´n:
         o
Parte a), definimos la siguiente funci´n en Matlab:
                                     o


             function integral
              disp(’INTEGRAL DE f(x)=1/(1+x^2)’);
              disp(’LIMITES DE INTEGRACION:a=0;b=infty’);
              %Evaluamos de a=0 hasta c=1 y de c=1 hasta b=infty;
              I1=trapecio(’h’,0,1,80);
              %segundo desde c=1 hasta b=infty
              %hacemos el cambio x=1/t
               I2=trapecio(’g’,0,1,80);
               disp(’EL VALOR DE LA INTEGRAL ES:’);
               I=I1+I2
               %inicio de la subfunci´n regla extendida del trapecio
                                      o
               function s = trapecio(f,a,b,m)
                h = (b - a)/m; s = 0; for k=1:(m-1),
                x = a + h*k;
                s = s + feval(f,x);
               end s = h*(feval(f,a)+feval(f,b))/2 + h*s;
               % definiendo funciones
              function h=h(x)
               h=1/(1+x^2);
             function g=g(t)
              g= 1/(1+t^2);                     .


El valor de la integral es: I=1.5708 .

    Parte b), definimos la siguiente funci´n en Matlab:
                                         o


             function integral_2
              disp(’INTEGRAL DE f(x)=(cos(x))/(x^(1/2))’);
              disp(’LIMITES DE INTEGRACION: a=0;b=1’);
              %hacemos el cambio x=(t^2)
              %integraremos g(t)=2cos(t^2)
              %nuevos l´mites de integrac´n a=0 ,b=1.
                       ı                 o
              disp(’EL VALOR DE LA INTEGRAL ES :’);
              richarson(’g’,0,1,20)
              %inicio de la subfunci´n richarson - trapecio
                                    o

                                               12
function [integral]=richarson(f,a,b,m)
                 format short
                 %-------------------------------------------
                 %EMPEZAMOS ALGORITMO DE RICHARSON PARA
                 %HALLAR LA integral de una funci´n
                                                  o
                 for i=1:length(m)
                  h=(b-a)./m;
                  delta=0.01; err=1; j=1;
                  I(1,1)=trapecio(f,a,b,m);
                  while err>delta && j<50
                     m=2.*m;
                     I(j+1,1)=trapecio(f,a,b,m);
                      for k=1:j
                       I(j+1,k+1)=(I(j,k)-(4^k)*I(j+1,k))/(1-4^k);
                      end
                     err=abs(I(j+1,j+1)-I(j,j));
                     j=j+1;
                  end [n ,n]= size(I);
                 end
                 I;
                 I(n,n)
                %inicio de la subfunci´n regla
                                       o
                %extendida del trapecio
                function s = trapecio(f,a,b,m)
                 h = (b - a)/m; s = 0; for k=1:(m-1),
                 x = a + h*k;
                 s = s + feval(f,x);
                end
                s = h*(feval(f,a)+feval(f,b))/2 + h*s;
               % definiendo funci´n
                                  o
                 function g=g(t)
                 g=2*cos(t^2);                               .


El valor de la integral es: I=1.8090 .



6    Ecuaciones Diferenciales
Para calcular, la soluci´n aproximada del problema: y ′ = f (t, y) en [to, tf ] con la condici´n inicial
                        o                                                                     o
y(to) = yo; en MatLab se usan los comandos:

            f=inline(’expresion de f(t,y)’,’t’,’y’)
            ode23(f,[to,tf],yo)     ,


esta orden calcula una aproximaci´n num´rica de la soluci´n y muestra una gr´fica.
                                 o     e                 o                  a

Ejemplo 8. Ejecutamos la orden:


                                                  13
f=inline(’-5*y+10’,’t’,’y’)
         ode23(f,[0,3],0)
         axis([-0.5 3 -0.5 3]),grid              ,


se muestra la siguiente gr´fica:
                          a

                                  3


                               2.5


                                  2


                               1.5


                                  1


                               0.5


                                  0


                              −0.5
                                −0.5   0   0.5       1        1.5   2   2.5   3




                                                 Figura 3:


   Tambi´m podemos hacer el c´lculo mediante la orden
        e                    a

       [t,y]=ode23(f,[t0,tf],y0)             ,


la diferencia con la enterior,es que esta no muestra gr´fica.
                                                       a

6.1    Ley de Malthus
Ejemplo 9. Supongamos que el n´mero de habitantes de un pa´ en el a˜ o 2007 fue de 26.4 millones.
                                 u                        ıs       n
                                       ′
Y crece siguiendo la Ley (de Malthus) y = 0,05y, donde y(t) representa el n´mero de habitantes
                                                                            u
en millones, en un instante t .
Estimar el n´mero de Habitantes en el a˜ o 2020.
             u                         n


   soluci´n: Datos: to=2007 ,yo=26.4,tf=2020. Ejecutamos la orden
         o

         f=inline(’0.05*y’,’t’,’y’)
         ode23(f,[2007,2020],26.4)           ;


usamos la orden ginput(1) para hallar en la gr´fica las coordenadas que me indican la soluci´n.
                                                a                                          o
Obteniendo como respuesta que en el a˜ o 2020 el n´ mero de habitantes es aproximadamente 50.6
                                     n            u
millones.
Implementamos una funci´n en MatLab para la soluci´n anal´
                       o                            o      ıtica de este modelo:



                                                         14
function M=malthus(to,tf,yo)
            %to=tiempo inicial,tf=tiempo final
           % yo=y(to)
         k=0.05; % constante de proporcionalidad, puede variar.
         h=0.01; % incremento de tiempo,puede variar.
         th=to:h:tf;
         soluc=yo.*exp(k.*(th-to));
         plot(th,soluc)                .


Para nuestro ejemplo ingresamos la orden:

          malthus(2007,2020,26.4)             .



7    Bibliograf´
               ıa
[1] Juan-Antonio Infante y Jos´ Mar´ Rey,
                               e     ıa
Introducci´n a MATLAB(notas en internet).
           o
[2] Nakamura, Shoichiro,
Numerical analysis and graphic visualization with MATLAB Upper Saddle River,
NJ : Prentice-Hall, 1996.
[3] W.H. Press, S.A. Teukolsky, W.T Vetterling, B.P. Flannery Numerical Recipes in C (2nd edition),
Cambridge University Press. 1992.
[3]Elizabeth Doig. Notas de clase del curso C´lculo Num´rico,
                                             a           e
Ciencias e Ingenier´
                   ıa-PUCP.




                                                  15

Mais conteúdo relacionado

Mais procurados

Metodo de biseccion y regla falsa
Metodo de biseccion y regla falsaMetodo de biseccion y regla falsa
Metodo de biseccion y regla falsa
Sool Egurrola
 

Mais procurados (15)

Tema 2.4
Tema 2.4Tema 2.4
Tema 2.4
 
EcuacióN Del Plano
EcuacióN Del PlanoEcuacióN Del Plano
EcuacióN Del Plano
 
ANALISIS DIMENSIONAL
ANALISIS DIMENSIONALANALISIS DIMENSIONAL
ANALISIS DIMENSIONAL
 
Monografia de mate 3 imprimir 2
Monografia de mate 3 imprimir 2Monografia de mate 3 imprimir 2
Monografia de mate 3 imprimir 2
 
Integrales dobles
Integrales  doblesIntegrales  dobles
Integrales dobles
 
Apuntes transformaciones lineales - UTFSM
Apuntes transformaciones lineales - UTFSMApuntes transformaciones lineales - UTFSM
Apuntes transformaciones lineales - UTFSM
 
Trictico: Blaise Pascal
Trictico: Blaise PascalTrictico: Blaise Pascal
Trictico: Blaise Pascal
 
Campos "Fields"
Campos "Fields"Campos "Fields"
Campos "Fields"
 
Descripción de un Algoritmo
Descripción de un AlgoritmoDescripción de un Algoritmo
Descripción de un Algoritmo
 
formulario de calculo integral y diferencial
formulario de calculo integral y diferencialformulario de calculo integral y diferencial
formulario de calculo integral y diferencial
 
Métodos numéricos para ecuaciones diferenciales ordinarias
Métodos numéricos para ecuaciones diferenciales ordinariasMétodos numéricos para ecuaciones diferenciales ordinarias
Métodos numéricos para ecuaciones diferenciales ordinarias
 
Ejercicios integral definida
Ejercicios integral definidaEjercicios integral definida
Ejercicios integral definida
 
Metodo de biseccion y regla falsa
Metodo de biseccion y regla falsaMetodo de biseccion y regla falsa
Metodo de biseccion y regla falsa
 
Probabilidadyestadistica ingenieria
Probabilidadyestadistica ingenieriaProbabilidadyestadistica ingenieria
Probabilidadyestadistica ingenieria
 
Aplicación e Importancia de las Funciones Exponenciales, Logaritmo, Trigonom...
Aplicación e Importancia de las  Funciones Exponenciales, Logaritmo, Trigonom...Aplicación e Importancia de las  Funciones Exponenciales, Logaritmo, Trigonom...
Aplicación e Importancia de las Funciones Exponenciales, Logaritmo, Trigonom...
 

Semelhante a TÓPICOS DE MATLAB: APLICACIÓN A LOS MÉTODOS NUMÉRICOS.

Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)
morones.om
 
Vba excel numericos
Vba excel numericosVba excel numericos
Vba excel numericos
JOHN BONILLA
 
Introduccion a la programacion en c prev
Introduccion a la programacion en c prevIntroduccion a la programacion en c prev
Introduccion a la programacion en c prev
jtk1
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
sergio
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
guest553c2e
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
guest553c2e
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
sergio
 

Semelhante a TÓPICOS DE MATLAB: APLICACIÓN A LOS MÉTODOS NUMÉRICOS. (20)

Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)
 
Vba excel mnumericos1
Vba excel mnumericos1Vba excel mnumericos1
Vba excel mnumericos1
 
Vba excel mnumericos
Vba excel mnumericosVba excel mnumericos
Vba excel mnumericos
 
Vba excel numericos
Vba excel numericosVba excel numericos
Vba excel numericos
 
Manual dematlab
Manual dematlabManual dematlab
Manual dematlab
 
Cálculo Numérico Asistido con el Software Matemático MatLab.
 Cálculo Numérico Asistido con el Software Matemático MatLab. Cálculo Numérico Asistido con el Software Matemático MatLab.
Cálculo Numérico Asistido con el Software Matemático MatLab.
 
Introduccion a matlab
Introduccion a matlabIntroduccion a matlab
Introduccion a matlab
 
Manual matlab 2009
Manual matlab 2009Manual matlab 2009
Manual matlab 2009
 
Cap1y2.Textoguiapdf
Cap1y2.TextoguiapdfCap1y2.Textoguiapdf
Cap1y2.Textoguiapdf
 
Introduccion a la programacion en c prev
Introduccion a la programacion en c prevIntroduccion a la programacion en c prev
Introduccion a la programacion en c prev
 
Linear & Logistic Regression Analysis.
Linear & Logistic Regression Analysis.Linear & Logistic Regression Analysis.
Linear & Logistic Regression Analysis.
 
Vba excel mnumericos
Vba excel mnumericosVba excel mnumericos
Vba excel mnumericos
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
 
Mi proyecto de pre-tesis
Mi proyecto de pre-tesisMi proyecto de pre-tesis
Mi proyecto de pre-tesis
 
M´etodos num´ericos
M´etodos num´ericosM´etodos num´ericos
M´etodos num´ericos
 
Manual cpp
Manual cppManual cpp
Manual cpp
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Último

TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 

Último (20)

Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 

TÓPICOS DE MATLAB: APLICACIÓN A LOS MÉTODOS NUMÉRICOS.

  • 1. Lima - 2010 T´picos de Matlab: Aplicaciones a M´todos Num´ricos o e e 1 Jos´ Walter Ysique Quesqu´n e e jwysiqueq@pucp.edu.pe Resumen Uso del paquete de software matem´tico MatLab para el c´lculo de algunos m´todos num´ri- a a e e cos. Se definen funciones en las que se implementan m´todos conocidos para calcular,por ejemplo e el polinomio interpolador, ra´ıces,derivada e integral de una funci´n. Adem´s se aborda algunas o a nociones con respecto a la soluci´n de ecuaciones diferenciales ordinarias. o Palabras clave: MatLab,interpolador,derivada,integral,ecuaciones diferenciales. Abstract Use of the mathematical software package MatLab for the calculation of some numerical methods. Functions are defined in which known methods are implemented to calculate, for example the interpolador polynomial, roots, derived and integral of a function. In addition one approaches some slight knowledge with respect to the solution of ordinary differential equations. Keywords: MatLab, interpolador, derived,integral,differential equations. ———————————————————————————————————————— 1 Magister en Matem´ticas . a
  • 2. Introducci´n o Las t´cnicas computacionales permiten abordar problemas de manera num´rica, anal´ e e ıtica o gr´fica, por ejemplo los sistemas de ecuaciones lineales y no lineales, las soluciones de ecuaciones a diferenciales ordinarias y parciales, la evaluaci´n num´rica de derivadas, de integrales, el procesamien- o e to de datos experimentales, etc. MATLAB (MATatrix LABoratory) es un lenguaje de alto nivel y un ambiente interactivo creado por MathWorks. MATLAB est´ dise˜ ado para realizar r´pida y eficientemente tareas matem´ticas a n a a computacionalmente intensivas. El programa cuenta con muchas funciones que permiten hacer todas las operaciones matem´ticas elementales. Los gr´ficos generados por el computador usando Mat- a a lab son utiles para mostrar la evoluci´n de diversos sistemas, como la formaci´n de patrones, el ´ o o procesamiento de im´genes, etc. a Se espera incentivar al lector en el estudio y aplicaci´n de los conceptos fundamentales de las t´cni- o e cas num´ricas usando el desarrollo de algoritmos matem´ticos. Asimismo, realizar la implementaci´n e a o del programa correspondiente usando el entorno integrado del Matlab. i
  • 3. ´ Indice 1 Interpolaci´n. o 1 1.1 Interpolaci´n de Lagrange. . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Interpolaci´n de Hermite . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 Polinomio de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Funci´n Spline . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Ejemplo de Aplicaci´n . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Ra´ ıces de Ecuaciones 6 3 Presentaci´n de Algunos M´todos. o e 6 3.1 M´todo de Bisecci´n . . . . . . . . e o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 M´todo de la Secante . . . . . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 M´todo de Falsa Posici´n . . . . . . e o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4 M´todo de Newton . . . . . . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4 Derivada de una funci´n o 10 5 Integraci´n o 12 6 Ecuaciones Diferenciales 13 6.1 Ley de Malthus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 7 Bibliograf´ ıa 15 ii
  • 4. 1 Interpolaci´n. o Sea P = {(xi , yi = f (xi )) : i = 1, · · ·, n, n ∈ N} un conjunto de puntos dado. Se denomina “funci´n o interpolante” a una funci´n cuya gr´fica pasa por todos los puntos del conjunto P . o a Figura 1: • Las funciones m´s usadas para interpolar son las polinomiales debido a que ´stas son m´s f´ciles a e a a de derivar e integrar. • Se dispone de dos m´todos generales de interpolaci´n polin´mica: Interpolaci´n de Lagrange e e o o o Interpolaci´n de Hermite. o 1.1 Interpolaci´n de Lagrange. o Sea f la funci´n a interpolar, sean P = {(xi , yi = f (xi )) : i = 1, · · ·, n, n ∈ N} los puntos o conocidos,donde f (xi ) es la funci´n evaluada en cada punto xi . El polinomio interpolador de o grado m de Lagrange es definido por: n Pn = f (xi )Li (x) , n ≤ m . (1) i=0 donde los Li (x) son llamados polinomios de Lagrange y est´n definidos por: a n x − xj Li (x) = , i = 0, 1, · · ·, n . (2) j=0j=i xi − xj -Propiedades de los Polinomios de Lagrange: 0, si i = j; • Li (xj ) = 1, i=j. • El grado de Li (x) es igual a n cualquiera que sea i, donde 0 ≤ i ≤ n . 1
  • 5. -Implementaci´n del m´todo usando MatLab o e %Algoritmo de Lagrange %Ingresar los valores conocidos de x %Ingresar los valores conocidos de y %Ingresar los valores a interpolar xi %muestra el polinomio de lagrange y los valores yi function Lagrange(x,y,xi); p=0; syms t; n=length(x); yi=zeros(size(xi)); for i=1:n z=ones(size(xi)); L=1; for j=1:n if i~=j L=L*(t-x(j))/(x(i)-x(j)); z=z.*(xi-x(j))/(x(i)-x(j)); end end yi=yi+z*y(i); p=p+L*y(i); p=simplify(p); end polinomio=p yi Ejemplo 1. Sea f (x) = x21 +1 una funci´n tal que x0 = −2, f (x0 ) = 1/5, x1 = −1, f (x1 ) = o 1/2, x2 = 0, f (x2 ) = 1 . Su polinomio interpolador de Lagrange es: 2 P2 (x) = f (xi ) · Li (x) , i=0 donde : (x + 1)x x2 x L0 (x) = = + (−2 + 1)(−2) 2 2 (x + 2)x L1 (x) = = x2 − 2x (−1 + 2)(−1) (x + 2)(x + 1) x2 3x L2 (x) = = + +1 . (2)(1) 2 2 Luego: 1 1 P2 (x) = · L0 (x) + · L1 (x) + 1 · L2 (x) 5 2 2 x 3x P2 (x) = + +1 . 10 5 2
  • 6. Usando la funci´n “Lagrange” en MatLab, ingresamos la orden : o Lagrange([-2 -1 0],[1/5 1/2 1],[-1.5 -0.5]) en donde xi=[-1.5 -0.5] son los valores a interpolar. Como resultado se mostrar´: a polinomio = 1/10*t^2+3/5*t+1 yi = 0.3250 0.7250 1.2 Interpolaci´n de Hermite o Teniendo en cuenta la interpolaci´n de Lagrange, se puede exigir otro tipo de condiciones,por ejemplo o que adem´s de coincidir los valores P (xi ) = f (xi ) = yi , tambi´n coincidan el de sus derivadas: a e P ′ (xi ) = f ′ (xi ) = yi para todo xi con i = 0, · · ··, n . ′ As´ tenemos los siguientes datos: ı x0 x1 ··· xn y0 y1 ··· yn ′ ′ ′ y0 y1 ··· yn Cuadro 1: Observamos que se tiene 2(n + 1) condiciones, por lo que buscaremos un polinomio de grado 2n + 1 que verifique la condiciones dadas en el Cuadro (1). 1.2.1 Polinomio de Hermite Se define como: n n ′ P2n+1 (x) = hj (x) · yj + gj (x) · yj , (3) j=0 j=0 donde hj (x) y gj (x) est´n definidos en t´rminos de polinomios de Lagrange: a e hj (x) = [1 − 2(x − xj ) · L′j (xj )] · L2 (x) , gj (x) = (x − xj ) · L2 (x) . j j (4) Implementaci´n del m´todo en MatLab : o e %Algoritmo generalizado de Hermite % ingresar valores conocidos de x % ingresar valores conocidos de y % ingresar valores de las derivadas dy % ingresar valores a interpolar xi function Hermite(x,y,dy,xi) p=0; syms t; n=length(x); yi=zeros(size(xi)); for i=1:n 3
  • 7. l=1; L=1; M=0; for j=1:n if i~=j l=l.*(xi-x(j))/(x(i)-x(j));%polinomio lagrange L=L.*1/(x(i)-x(j)); %factor constante en derivada M=M+(x(i)-x(j));% acumulando derivadas F=L.*M ; %resultado delagrange derivado hj=((1-2.*(xi-x(i)).*F)).*l.^2; %coeficiente en hemite gj=(xi-x(i)).*l.^2 ;%coeficiente en hemite end end yi=hj.*y(i)+gj.*dy(i); p=p+yi; end p 1 Ejemplo 2. Sea f (x) = x2 +1 la funci´n a interpolar, con los siguientes datos adicionales: o i=0 i=1 i=2 i=3 i=4 xi −2 −1 0 1 2 yi 1/5 1/2 1 1/2 1/5 ′ yi 4/25 1/2 0 −1/2 −4/25 . Cuadro 2: Evaluar el polinomio de Hermite en los valores {−1 · 5, −0 · 5, 0 · 5, 1 · 5} . Soluci´n: o Usando la funci´n “Hermite” en MatLab, ingresamos la orden : o Hermite([-2 -1 0 1 2],[1/5 1/2 1 1/2 1/5], [4/25 1/2 0 -1/2 -4/25],[-1.5 -0.5 0.5 1.5]) y se mostrar´ como respuesta: a p = 1.1099 0.5692 0.5692 1.1099 1.3 Funci´n Spline o Una “funci´n spline de grado k ” con valores conocidos en x0 , x1 , · · ·, xn es una funci´n S(x) o o formada por varios polinomios cada uno definido sobre un subintervalo [xi , xi+1 ] y se unen bajo las siguientes condiciones de continuidad: • En el intervalo [xi , xi+1 >, S(x) es un polinomio de grado menor o igual a k . • S(x) admite derivada continua de orden (k − 1) en [x0 , xn ] . 4
  • 8. -La interpolaci´n m´s frecuente es por medio de splines de grado 3, llamados “splines c´ bicos”. o a u -MatLab tiene incorporado el interpolador “spline cubic”, se ejecuta siguiendo la siguiente sintaxis: yi = spline(x, y, xi), donde los valores y representa los valores de la funci´n evaluada en los puntos o x y los puntos xi son los puntos a interpolar. Ejemplo 3. x = 0:10; y = x.*cos(x); xi = 0:.25:10; yi = spline(x,y,xi); hold on plot(x,y,’o’,xi,yi) % ubicaci´n de los puntos dados o % y la gr´fica del polinomio interpolador a Figura 2: 1.4 Ejemplo de Aplicaci´n o Ejemplo 4. Con ayuda de la funci´n de Matlab ginput realice un dibujo de su mano. Para esto o coloque su mano en la pantalla de su monitor y seleccione unos 30 a 35 puntos del contorno de su mano. Ahora imagine que las abscisas y las ordenadas de los datos que recolect´ son funciones de una o variable independiente que va desde 1 hasta el n´mero de puntos. Luego realice una interpolaci´n de u o cada una de estas tablas en una rejilla muy fina. Seleccione el m´todo de interpolaci´n que considere e o el mejor para este caso. Soluci´n: Definimos en MatLab la siguiente funci´n que realiza lo pedido: o o % N es numero de puntos %get consigue las propiedades del objeto %get(h,’PropertyName’) %screensize tama~o de la pantalla n %figure(’position’,get(0,’screensize’)) % ginput permite seleccionar puntos de la figura con el mouse function mano(N) figure(’position’,get(0,’screensize’)) axes(’position’,[0 0 1 1]) [x,y] = ginput(N); 5
  • 9. N = length(x); n =(1:N)’; xi=(1:0.05:N)’; u = spline(n,x,xi); v = spline(n,y,xi); plot(x,y,’ro’,u,v,’-’); 2 Ra´ ıces de Ecuaciones En esta secci´n nos ocuparemos de encontrar las ra´ de ecuaciones no lineales. Esto es, encontrar o ıces los ceros de funciones. El proceso a seguir es: • Ubicar intervalos [aj , bj ] en donde se encuentran las ra´ ıces, para esto hacemos uso del Teorema del Valor Intermedio . Podemos optar por hacer la gr´fica de la funci´n . a o • En cada intervalo contruir una sucesi´n xn ∈ [aj , bj ] tal que limn→∞ xn = rj , donde rj es o un cero de la fuci´n. o • Lo anterior es un proceso iterativo mediante el cual se busca encontrar una mejor aproximaci´n o de los ceros de una funci´n. Se termina cuando se impone alg´n criterio de tolerancia. Por o u ejemplo : |xn+1 − xn | < ǫ, para ǫ > 0 bastante peque˜ o.n 3 Presentaci´n de Algunos M´todos. o e Presentaremos la implementaci´n de algunos m´todos en Matlab mediante un ejemplo: o e Ejemplo 5. Hallar las ra´ ıces de la ecuaci´n: o sin(sqrt(sec(x) + (x3 ) ∗ exp(5 ∗ x/tan(x)))) − exp(−1 ∗ x) = 0 en el intervalo [0 · 17, 0 · 81] . Primero definimos una funci´n en Matlab: o function y=f(x) y=sin(sqrt(sec(x)+(x^3)*exp(5*x/tan(x))))-exp(-1*x); . La cual es guardada con el nombre de f . 3.1 M´todo de Bisecci´n e o Definimos una funci´n para este m´todo: o e function MB=biseccion(a,b,f,tol); % Esta funci´n aplica el m´todo de bisecci´n para o e o % ubicar raices. % a y b son extremos del intervalo donde se ubica la ra´z ı % n indica el n´mero de la iteraci´n u o 6
  • 10. % f es la funci´n o % tol= tolerancia error=1;%error inicial f_ant=feval(f,b); % f_ant indica f anterior ,feval(f,b)indica f evaluado en b. n=1; while (error>tol) f_a=feval(f,a); f_b=feval(f,b); m =(a+b)/2; f_m=feval(f,m); error=abs(f_m-f_ant); fprintf(’n=%d, a= %5.8f,b=%5.8f,m=%5.8f,f(m)=%5.8f, error=%5.8fn’,n,a,b,m,f_m,error) if f_a == 0, W=sprintf(’n ra´z en x = %5.8f ’, a); ı disp(W); return end if f_b == 0 W=sprintf(’n ra´z en x = %5.8f ’, b); ı disp(W); return end if (f_a*f_m)<0 b= m; else a= m; end f_ant=f_m; n=n+1; end; W=sprintf(’n ra´z en x = %5.8f ’, m); ı disp(W); Para nuestro ejemplo ejecutamos la orden: biseccion(0.17,0.81,’f’,0.5*10^(-8)) , obteniendo como resultado: ra´z en x = 0.32913022 ı . 3.2 M´todo de la Secante e Definimos una funci´n para este m´todo: o e function MS=secante(x1,x2,f,tol) % Esta funci´n aplica el m´todo de la secante para ubicar o e 7
  • 11. % ra´ces de una funci´n. ı o % f es la funci´n que ingresamos (a ser llamada) o % tol es la tolerancia que deseamos % x1 y x2 son los extremos iniciales del intervalo en % el que est´ la ra´z a ı % delta es el tama~o del nuevo interv. en el q’ est´ la ra´z n a ı f1=feval(f,x1); f2=feval(f,x2); x_nuevo=x2; for n=2:30 x=x2+f2*(x2-x1)/(f1-f2); fx=feval(f,x); x1=x2; f1=f2; delta=abs(x2-x); x2=x; f2=fx; fprintf(’n = %d, x = %5.8f, fx = %5.8f n’,n,x,fx) if delta < tol, break, end end fprintf(’n ra´z en x = %5.8f ’, x); ı Para nuestro ejemplo ejecutamos la orden: secante(0.17,0.81,’f’,0.5*10^(-8)) , obtenemos como resultado: ra´z en x = 0.32913022 . ı 3.3 M´todo de Falsa Posici´n e o Definimos una funci´n para este m´todo: o e function MFP=falsaposicion(x1,x2,f,tol) % Esta funci´n aplica el m´todo de Falsa Posici´n o e o % para hallar las ra´ces de una funci´n. ı o % f es la funci´n que ingresamos o % tol es la tolerancia que deseamos % x1 y x2 son los extremos del intervalo donde se % encuentra la ra´z ı f1=feval(f,x1); f2=feval(f,x2); x_nuevo=x2; if f1*f2<0 for n=2:30 x=x2+f2*(x2-x1)/(f1-f2); fx=feval(f,x); 8
  • 12. if fx*f1>0 x1=x;f1=fx; else x2=x;f2=fx; end fprintf(’n = %d, x = %5.8f, fx = %5.8f n’,n,x,fx) if abs(x_nuevo-x)<tol, break, end x_nuevo=x; end else disp(’La ra´z debe estar en el intervalo [x1,x2]’) ı end fprintf(’n ra´z en x = %5.8f ’, x_nuevo); ı Para nuestro ejemplo ejecutamos la orden: falsaposicion(0.17,0.81,’f’,0.5*10^(-8)) , obteniendo como resultado: ra´z en x = 0.32913022 ı . 3.4 M´todo de Newton e Presentaremos la implementaci´n del m´todo de Newton en una variable. Este m´todo necesita a o e e diferencia de los anteriores,una aproximaci´n inicial de la ra´ o ız,tambi´n la derivada de la funci´n. e o Primero definimos una funci´n en MatLab para la derivada de la funci´n de la cual se quiere hallar o o su ra´ ız. Para nuestro ejemplo: function y=derivada(x) y=1/2*cos((sec(x)+x^3*exp(5*x/tan(x)))^(1/2))/(sec(x) +x^3*exp(5*x/tan(x)))^(1/2)*(sec(x)*tan(x) +3*x^2*exp(5*x/tan(x))+x^3*(5/tan(x) -5*x/tan(x)^2*(1+tan(x)^2))*exp(5*x/tan(x)))+exp(-x); Implementaci´n de MatLab del m´todo de Newton para una variable: o e function N=newton1v(xo,f,df,tol) % Esta funci´n aplica elm´todo de una variable o e % para hallar la ra´z de una funci´n. ı o % xo es la aproximacion inicial de la ra´z ı % f es la funcion % df es la derivada de la funcion 9
  • 13. % tol=tolerancia error=1; x_ant=xo; n=1; while (error>tol) x_nuevo=x_ant-feval(f,x_ant)/feval(df,x_ant); error=abs(x_nuevo-x_ant); W=fprintf(’n=%d,x_ant=%5.8f,x_nuevo=%5.8f, error=%5.8f’,n,x_ant,x_nuevo,error); disp(W); x_ant=x_nuevo; n=n+1; end; fprintf(’n ra´z en x=%5.8f’,x_ant); ı Para nuestro ejemplo ejecutamos la orden: newton1v(0.30,’f’,’derivada’,0.5*10^(-8)) , obteniendo como resultado: ra´z en x=0.32913022 ı . 4 Derivada de una funci´n o Ejemplo 6. Considere la funci´n f (x) = xexp(x) . Determinar aproximaciones de f ′ (2) , para o cada uno de los siguientes pasos h = 0 · 5, 0 · 45, · · ·, 0 · 05 ; usando las f´rmulas de diferencia hacia o atr´s, diferencia hacia delante y diferencia central. Para visualizar como la aproximaci´n mejora con a o el decrecimiento del paso, graficar el error como funci´n de h en cada caso. o soluci´n: o Diferencia hacia adelante: %derivada de la funci´n Y =x.*exp(x) en el punto x=2 o %usando diferencia hacia adelante con dos puntos, %se grafica el error como funci´n del paso. o xo=2; h=0.5:-0.05:0.05; n = length(h)-1; disp(’ DIFERENCIA HACIA ADELANTE ’); for j=1:length(h) x1=xo; x2=xo+h; y1=x1.*exp(x1); y2=x2.*exp(x2); y=(y2-y1)./(h); end fprintf(’n h=%5.2f’,h); fprintf(’n y=%5.8f’,y); w=abs(exp(2)+2.*exp(2)- y);%error plot(h,abs(exp(2)+2.*exp(2)- y),’ro’), grid 10
  • 14. Diferencia hacia atr´s: a %derivada de la funci´n Y =x.*exp(x) en elpunto x=2 usando o %diferencia hacia atras con dos puntos, se grafica el %error como funci´n del paso. o xo=2; h=0.5:-0.05:0.05; n = length(h)-1; disp(’ DIFERENCIA HACIA ATRAS ’); for j=1:length(h) x1=xo; x2=xo-h; y1=x1.*exp(x1); y2=x2.*exp(x2); y=(y1-y2)./(h); end fprintf(’n h=%5.2f’,h); fprintf(’n y=%5.8f’,y); w=abs(exp(2)+2.*exp(2)- y);%error plot(h,abs(exp(2)+2.*exp(2)- y),’ro’), grid Diferencia central: %derivada de la funci´n Y =x.*exp(x) en el o %punto x=2 usando diferencia central con dos %puntos, se grafica el error como funci´n del paso o xo=2; h=0.5:-0.05:0.05; n =length(h)-1; disp(’ DIFERENCIA CENTRAL ’); for j=1:length(h) x1=xo-h; x2=xo+h; yo=xo.*exp(xo); y1=x1.*exp(x1); y2=x2.*exp(x2); y=(y2-y1)./(2.*h); end fprintf(’n h=%5.2f’,h); fprintf(’n y=%5.8f’,y); w=abs(exp(2)+2.*exp(2)- y);%error plot(h,abs(exp(2)+2.*exp(2)- y),’ro’), grid . 11
  • 15. 5 Integraci´n o Ejemplo 7. Evaluar num´ricamente las siguientes integrales impropias realizando las transforma- e ciones que crea conveniente. ∞ 1 a) dx 0 1 + x2 1 cos(x) b) √ dx 0 x Soluci´n: o Parte a), definimos la siguiente funci´n en Matlab: o function integral disp(’INTEGRAL DE f(x)=1/(1+x^2)’); disp(’LIMITES DE INTEGRACION:a=0;b=infty’); %Evaluamos de a=0 hasta c=1 y de c=1 hasta b=infty; I1=trapecio(’h’,0,1,80); %segundo desde c=1 hasta b=infty %hacemos el cambio x=1/t I2=trapecio(’g’,0,1,80); disp(’EL VALOR DE LA INTEGRAL ES:’); I=I1+I2 %inicio de la subfunci´n regla extendida del trapecio o function s = trapecio(f,a,b,m) h = (b - a)/m; s = 0; for k=1:(m-1), x = a + h*k; s = s + feval(f,x); end s = h*(feval(f,a)+feval(f,b))/2 + h*s; % definiendo funciones function h=h(x) h=1/(1+x^2); function g=g(t) g= 1/(1+t^2); . El valor de la integral es: I=1.5708 . Parte b), definimos la siguiente funci´n en Matlab: o function integral_2 disp(’INTEGRAL DE f(x)=(cos(x))/(x^(1/2))’); disp(’LIMITES DE INTEGRACION: a=0;b=1’); %hacemos el cambio x=(t^2) %integraremos g(t)=2cos(t^2) %nuevos l´mites de integrac´n a=0 ,b=1. ı o disp(’EL VALOR DE LA INTEGRAL ES :’); richarson(’g’,0,1,20) %inicio de la subfunci´n richarson - trapecio o 12
  • 16. function [integral]=richarson(f,a,b,m) format short %------------------------------------------- %EMPEZAMOS ALGORITMO DE RICHARSON PARA %HALLAR LA integral de una funci´n o for i=1:length(m) h=(b-a)./m; delta=0.01; err=1; j=1; I(1,1)=trapecio(f,a,b,m); while err>delta && j<50 m=2.*m; I(j+1,1)=trapecio(f,a,b,m); for k=1:j I(j+1,k+1)=(I(j,k)-(4^k)*I(j+1,k))/(1-4^k); end err=abs(I(j+1,j+1)-I(j,j)); j=j+1; end [n ,n]= size(I); end I; I(n,n) %inicio de la subfunci´n regla o %extendida del trapecio function s = trapecio(f,a,b,m) h = (b - a)/m; s = 0; for k=1:(m-1), x = a + h*k; s = s + feval(f,x); end s = h*(feval(f,a)+feval(f,b))/2 + h*s; % definiendo funci´n o function g=g(t) g=2*cos(t^2); . El valor de la integral es: I=1.8090 . 6 Ecuaciones Diferenciales Para calcular, la soluci´n aproximada del problema: y ′ = f (t, y) en [to, tf ] con la condici´n inicial o o y(to) = yo; en MatLab se usan los comandos: f=inline(’expresion de f(t,y)’,’t’,’y’) ode23(f,[to,tf],yo) , esta orden calcula una aproximaci´n num´rica de la soluci´n y muestra una gr´fica. o e o a Ejemplo 8. Ejecutamos la orden: 13
  • 17. f=inline(’-5*y+10’,’t’,’y’) ode23(f,[0,3],0) axis([-0.5 3 -0.5 3]),grid , se muestra la siguiente gr´fica: a 3 2.5 2 1.5 1 0.5 0 −0.5 −0.5 0 0.5 1 1.5 2 2.5 3 Figura 3: Tambi´m podemos hacer el c´lculo mediante la orden e a [t,y]=ode23(f,[t0,tf],y0) , la diferencia con la enterior,es que esta no muestra gr´fica. a 6.1 Ley de Malthus Ejemplo 9. Supongamos que el n´mero de habitantes de un pa´ en el a˜ o 2007 fue de 26.4 millones. u ıs n ′ Y crece siguiendo la Ley (de Malthus) y = 0,05y, donde y(t) representa el n´mero de habitantes u en millones, en un instante t . Estimar el n´mero de Habitantes en el a˜ o 2020. u n soluci´n: Datos: to=2007 ,yo=26.4,tf=2020. Ejecutamos la orden o f=inline(’0.05*y’,’t’,’y’) ode23(f,[2007,2020],26.4) ; usamos la orden ginput(1) para hallar en la gr´fica las coordenadas que me indican la soluci´n. a o Obteniendo como respuesta que en el a˜ o 2020 el n´ mero de habitantes es aproximadamente 50.6 n u millones. Implementamos una funci´n en MatLab para la soluci´n anal´ o o ıtica de este modelo: 14
  • 18. function M=malthus(to,tf,yo) %to=tiempo inicial,tf=tiempo final % yo=y(to) k=0.05; % constante de proporcionalidad, puede variar. h=0.01; % incremento de tiempo,puede variar. th=to:h:tf; soluc=yo.*exp(k.*(th-to)); plot(th,soluc) . Para nuestro ejemplo ingresamos la orden: malthus(2007,2020,26.4) . 7 Bibliograf´ ıa [1] Juan-Antonio Infante y Jos´ Mar´ Rey, e ıa Introducci´n a MATLAB(notas en internet). o [2] Nakamura, Shoichiro, Numerical analysis and graphic visualization with MATLAB Upper Saddle River, NJ : Prentice-Hall, 1996. [3] W.H. Press, S.A. Teukolsky, W.T Vetterling, B.P. Flannery Numerical Recipes in C (2nd edition), Cambridge University Press. 1992. [3]Elizabeth Doig. Notas de clase del curso C´lculo Num´rico, a e Ciencias e Ingenier´ ıa-PUCP. 15