SlideShare una empresa de Scribd logo
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

Más contenido relacionado

La actualidad más candente

Ecuaciones diferenciales de primer orden, separación de variables
Ecuaciones diferenciales de primer orden, separación de variablesEcuaciones diferenciales de primer orden, separación de variables
Ecuaciones diferenciales de primer orden, separación de variables
Juan Antonio Garcia Avalos
 
Regla de Simpson tres octavos
Regla de Simpson tres octavosRegla de Simpson tres octavos
Regla de Simpson tres octavos
Javier Aguilar Cruz
 
Ecuaciones diferenciales exactas
Ecuaciones diferenciales exactasEcuaciones diferenciales exactas
Ecuaciones diferenciales exactas
AlexCoeto
 
Capitulo 8 teorema de green
Capitulo 8  teorema de greenCapitulo 8  teorema de green
Capitulo 8 teorema de green
Israel Matorras Rojas
 
Solución Numérica de Ecuaciones no Lineales:Métodos cerrados
Solución Numérica de Ecuaciones no Lineales:Métodos cerradosSolución Numérica de Ecuaciones no Lineales:Métodos cerrados
Solución Numérica de Ecuaciones no Lineales:Métodos cerrados
Pervys Rengifo
 
1 6 Ecuaciones Exactas
1 6 Ecuaciones Exactas1 6 Ecuaciones Exactas
1 6 Ecuaciones Exactas
Fernando Felix Solis Cortes
 
Metodo adams bashforth
Metodo adams bashforthMetodo adams bashforth
Metodo adams bashforth
Silvanita Serrano Armijos
 
Metodo de integración POR PARTES.
Metodo de integración POR PARTES.Metodo de integración POR PARTES.
Metodo de integración POR PARTES.
JOSE FELIPE RHENALS ALMANZA
 
Interpolacion newton
Interpolacion newtonInterpolacion newton
Interpolacion newton
Pervys Rengifo
 
Cap 5 numeros
Cap 5 numerosCap 5 numeros
Cap 5 numeros
nivelacion008
 
Ecuaciones diferenciales parciales E.D.P.
Ecuaciones diferenciales parciales E.D.P.Ecuaciones diferenciales parciales E.D.P.
Ecuaciones diferenciales parciales E.D.P.
jordan rojas alarcon
 
Ecuaciones lineales
Ecuaciones linealesEcuaciones lineales
Ecuaciones lineales
christopheradan50
 
MÉTRICAS Y ESPACIOS MÉTRICOS (1).pptx
MÉTRICAS Y ESPACIOS MÉTRICOS (1).pptxMÉTRICAS Y ESPACIOS MÉTRICOS (1).pptx
MÉTRICAS Y ESPACIOS MÉTRICOS (1).pptx
Javier Cornejo
 
TEOREMAS DE EXISTENCIA Y UNICIDAD DE LAS ECUACIONES
TEOREMAS DE EXISTENCIA Y UNICIDAD DE LAS ECUACIONESTEOREMAS DE EXISTENCIA Y UNICIDAD DE LAS ECUACIONES
TEOREMAS DE EXISTENCIA Y UNICIDAD DE LAS ECUACIONES
edvinogo
 
Ejercicios resueltos(f.vectoriales)(1)
Ejercicios resueltos(f.vectoriales)(1)Ejercicios resueltos(f.vectoriales)(1)
Ejercicios resueltos(f.vectoriales)(1)
ratix
 
Distribucion normal completo
Distribucion normal completoDistribucion normal completo
Distribucion normal completo
Jimmy Gilberto Davila Velez
 
Método gráfico, Método de bisección y Método de la regla falsa
Método gráfico, Método de bisección  y Método de la regla falsa Método gráfico, Método de bisección  y Método de la regla falsa
Método gráfico, Método de bisección y Método de la regla falsa
deberesautomotriz
 
Propiedades de laplace
Propiedades de laplacePropiedades de laplace
Propiedades de laplace
luis hernandez
 
Problemas resueltos-sistemas-ecuaciones
Problemas resueltos-sistemas-ecuacionesProblemas resueltos-sistemas-ecuaciones
Problemas resueltos-sistemas-ecuaciones
mercedespp
 
++Circuitos combinacionales -clase p repaso del examen-- 2
++Circuitos combinacionales  -clase p repaso del examen-- 2++Circuitos combinacionales  -clase p repaso del examen-- 2
++Circuitos combinacionales -clase p repaso del examen-- 2
sxm7
 

La actualidad más candente (20)

Ecuaciones diferenciales de primer orden, separación de variables
Ecuaciones diferenciales de primer orden, separación de variablesEcuaciones diferenciales de primer orden, separación de variables
Ecuaciones diferenciales de primer orden, separación de variables
 
Regla de Simpson tres octavos
Regla de Simpson tres octavosRegla de Simpson tres octavos
Regla de Simpson tres octavos
 
Ecuaciones diferenciales exactas
Ecuaciones diferenciales exactasEcuaciones diferenciales exactas
Ecuaciones diferenciales exactas
 
Capitulo 8 teorema de green
Capitulo 8  teorema de greenCapitulo 8  teorema de green
Capitulo 8 teorema de green
 
Solución Numérica de Ecuaciones no Lineales:Métodos cerrados
Solución Numérica de Ecuaciones no Lineales:Métodos cerradosSolución Numérica de Ecuaciones no Lineales:Métodos cerrados
Solución Numérica de Ecuaciones no Lineales:Métodos cerrados
 
1 6 Ecuaciones Exactas
1 6 Ecuaciones Exactas1 6 Ecuaciones Exactas
1 6 Ecuaciones Exactas
 
Metodo adams bashforth
Metodo adams bashforthMetodo adams bashforth
Metodo adams bashforth
 
Metodo de integración POR PARTES.
Metodo de integración POR PARTES.Metodo de integración POR PARTES.
Metodo de integración POR PARTES.
 
Interpolacion newton
Interpolacion newtonInterpolacion newton
Interpolacion newton
 
Cap 5 numeros
Cap 5 numerosCap 5 numeros
Cap 5 numeros
 
Ecuaciones diferenciales parciales E.D.P.
Ecuaciones diferenciales parciales E.D.P.Ecuaciones diferenciales parciales E.D.P.
Ecuaciones diferenciales parciales E.D.P.
 
Ecuaciones lineales
Ecuaciones linealesEcuaciones lineales
Ecuaciones lineales
 
MÉTRICAS Y ESPACIOS MÉTRICOS (1).pptx
MÉTRICAS Y ESPACIOS MÉTRICOS (1).pptxMÉTRICAS Y ESPACIOS MÉTRICOS (1).pptx
MÉTRICAS Y ESPACIOS MÉTRICOS (1).pptx
 
TEOREMAS DE EXISTENCIA Y UNICIDAD DE LAS ECUACIONES
TEOREMAS DE EXISTENCIA Y UNICIDAD DE LAS ECUACIONESTEOREMAS DE EXISTENCIA Y UNICIDAD DE LAS ECUACIONES
TEOREMAS DE EXISTENCIA Y UNICIDAD DE LAS ECUACIONES
 
Ejercicios resueltos(f.vectoriales)(1)
Ejercicios resueltos(f.vectoriales)(1)Ejercicios resueltos(f.vectoriales)(1)
Ejercicios resueltos(f.vectoriales)(1)
 
Distribucion normal completo
Distribucion normal completoDistribucion normal completo
Distribucion normal completo
 
Método gráfico, Método de bisección y Método de la regla falsa
Método gráfico, Método de bisección  y Método de la regla falsa Método gráfico, Método de bisección  y Método de la regla falsa
Método gráfico, Método de bisección y Método de la regla falsa
 
Propiedades de laplace
Propiedades de laplacePropiedades de laplace
Propiedades de laplace
 
Problemas resueltos-sistemas-ecuaciones
Problemas resueltos-sistemas-ecuacionesProblemas resueltos-sistemas-ecuaciones
Problemas resueltos-sistemas-ecuaciones
 
++Circuitos combinacionales -clase p repaso del examen-- 2
++Circuitos combinacionales  -clase p repaso del examen-- 2++Circuitos combinacionales  -clase p repaso del examen-- 2
++Circuitos combinacionales -clase p repaso del examen-- 2
 

Similar 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 mnumericos1
Vba excel mnumericos1Vba excel mnumericos1
Vba excel mnumericos1
Alejandra Regalado
 
Vba excel mnumericos
Vba excel mnumericosVba excel mnumericos
Vba excel mnumericos
aprendiendocpp
 
Vba excel numericos
Vba excel numericosVba excel numericos
Vba excel numericos
JOHN BONILLA
 
Manual dematlab
Manual dematlabManual dematlab
Manual dematlab
jandiruchyz
 
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.
WALTER YSIQUE
 
Introduccion a matlab
Introduccion a matlabIntroduccion a matlab
Introduccion a matlab
Jessica Pérez Rivera
 
Manual matlab 2009
Manual matlab 2009Manual matlab 2009
Manual matlab 2009
Juan Gabriel
 
Cap1y2.Textoguiapdf
Cap1y2.TextoguiapdfCap1y2.Textoguiapdf
Cap1y2.Textoguiapdf
Monica Diaz
 
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
 
Linear & Logistic Regression Analysis.
Linear & Logistic Regression Analysis.Linear & Logistic Regression Analysis.
Linear & Logistic Regression Analysis.
Pablo Vargas Ibarra
 
Vba excel mnumericos
Vba excel mnumericosVba excel mnumericos
Vba excel mnumericos
NilsonVallecillo
 
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
sergio
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
guest553c2e
 
Mi proyecto de pre-tesis
Mi proyecto de pre-tesisMi proyecto de pre-tesis
Mi proyecto de pre-tesis
Erwin Salas
 
M´etodos num´ericos
M´etodos num´ericosM´etodos num´ericos
M´etodos num´ericos
Manuel Fereira
 
Manual cpp
Manual cppManual cpp
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
Aquim Bonilla
 

Similar 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

El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
Armando920824
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Demetrio Ccesa Rayme
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
almitamtz00
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Demetrio Ccesa Rayme
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
Maristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdfMaristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdf
belbarcala
 
Todo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdfTodo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdf
La Paradoja educativa
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
https://gramadal.wordpress.com/
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
ssusera6697f
 
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptxEVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
Victor Elizalde P
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
Inslvarez5
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
rosannatasaycoyactay
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
77361565
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
Robert Zuñiga Vargas
 

Último (20)

El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
Maristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdfMaristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdf
 
Todo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdfTodo sobre el acta constitutiva de la empresa.pdf
Todo sobre el acta constitutiva de la empresa.pdf
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
 
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptxEVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
 

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