8


2       TIPOS DE MÉTODOS NUMÉRICOS
Existen dos estrategias para diseñar métodos numéricos y es importante conocer sus
características para elegirlos adecuadamente, así como su instrumentación computacional

2.1     Métodos iterativos
Estos métodos incluyen fórmulas que tienen la propiedad de producir un resultado más cercano
a la respuesta a partir de un valor estimado previo. El resultado obtenido se puede usar
nuevamente como valor previo y continuar mejorando la respuesta. Los métodos iterativos se
acercan a la respuesta mediante aproximaciones sucesivas.

Para usar estos métodos deben considerarse algunos aspectos tales como la elección del valor
inicial, la propiedad de convergencia de la fórmula y el criterio para terminar las iteraciones.

Estos métodos son auto-correctivos. La precisión de la respuesta está dada por la distancia entre
el último valor calculado y la respuesta esperada. Este es el error de truncamiento.

El siguiente gráfico describe la estructura de un método iterativo




Cada ciclo se denomina iteración. Si la fórmula converge, en cada iteración la respuesta estará
más cerca del resultado buscado. Aunque en general no es posible llegar a la respuesta exacta,
se puede acercar a ella tanto como lo permita la aritmética computacional del dispositivo de
cálculo.

Ejemplo. Instrumentar un método iterativo para calcular la raíz cuadrada r de un número real
positivo n mediante operaciones aritméticas básicas

Método Numérico

Se usará una fórmula que recibe un valor estimado para la raíz cuadrada y produce un valor más
cercano a la respuesta. Si se usa repetidamente la fórmula cada resultado tenderá a un valor
final que suponemos es la respuesta buscada. La obtención de estas fórmulas se realizará
posteriormente.

Sean    x: valor estimado para la raíz r
                                1     n
        Fórmula iterativa:=y      (x + )
                               2      x

Algoritmo
       1. Dado n
       2. Elegir el valor inicial x
                         1      n
                  =
       3. Calcular y       (x + )
                         2      x
       4. Terminar si |x-y| es suficientemente pequeño
       5. Asignar x a y. Regresar al paso 3
       6. El último valor x será un valor aproximado para la raíz r
9


Ejemplo. Calcular r =    7 con la fórmula iterativa anterior

         Usaremos x = 3 como valor inicial

         Cálculos en MATLAB

          >> format long
          >> n=7;
          >> x=3;
          >> y=0.5*(x+n/x)
          y=
            2.666666666666667
          >> x=y;
          >> y=0.5*(x+n/x)
          y=
            2.645833333333333
          >> x=y;
          >> y=0.5*(x+n/x)
          y=
            2.645751312335958
          >> x=y;
          >> y=0.5*(x+n/x)
          y=
            2.645751311064591
          >> x=y;
          >> y=0.5*(x+n/x)
          y=
            2.645751311064591

El último resultado tiene quince dígitos decimales que no cambian, por lo tanto podemos suponer
que la respuesta tiene esa precisión. Se observa la rápida convergencia de la sucesión de
números generad. Sin embargo es necesario verificar si la solución es aceptable pues si los
números convergen a un valor, no necesariamente es la respuesta correcta

          >> y^2
           ans =
              7.00000000000000

Se comprueba que el último valor calculado es la raíz cuadrada de 7

Ejemplo. Suponer que se propone la siguiente fórmula iterativa para el ejemplo anterior:
                    n
       = 0.4(x + )
          y
                    x

           >> n=7;
           >> x=3;
           >> y=0.4*(x+n/x)
           y=
            2.133333333333334
           >> x=y;
           >> y=0.4*(x+n/x)
           y=
            2.165833333333333
           >> x=y;
           >> y=0.4*(x+n/x)
10

          y=
           2.159138258304477
          >> x=y;
          >> y=0.4*(x+n/x)
          y=
           2.160468969251076
          >> x=y;
          >> y=0.4*(x+n/x)
          y=
           2.160202499208563
          >> x=y;
          >> y=0.4*(x+n/x)
          y=
           2.160255780068987
          .
          .
          .
          >> x=y;
          >> y=0.4*(x+n/x)
          y=
           2.160246899469289
          >> x=y;
          >> y=0.4*(x+n/x)
          y=
           2.160246899469287
          >> x=y;
          >> y=0.4*(x+n/x)
          y=
           2.160246899469287
          >> y^2
          ans =
           4.66666666666666


La fórmula converge pero el resultado final no es la raíz cuadrada de 7. Esto plantea la
importancia de verificar la formulación del método numérico y la validación de la respuesta
obtenida.

En general, los métodos numéricos se enfocan a resolver una clase o tipo de problemas. El
ejemplo anterior es un caso particular del problema general: la solución de ecuaciones no
lineales f(x)=0
11

2.1.1   Convergencia de los métodos iterativos
Es la propiedad que tienen las formulas iterativas de un método numérico para producir
resultados cada vez más cercanos a la respuesta esperada.

Definición: Convergencia de un método iterativo

Sean    r : Respuesta del problema                          (valor desconocido)
        Xi : Valor calculado en la iteración i              (valor aproximado)

Si un método iterativo converge, entonces
        xi → r                   .
         i→ ∞
                                  .

2.1.2   Error de truncamiento
La distancia entre cada valor calculado con una fórmula iterativa y la respuesta esperada se
denomina error de truncamiento. Si la fórmula iterativa converge, la distancia entre valores
consecutivos se debe reducir y se puede usar como una medida para el error de truncamiento.

Definición: Error de truncamiento

Sean   r : Respuesta del problema                      (valor desconocido)
       Xi : Valor calculado en la iteración i          (valor aproximado)
       Xi+1: Valor calculado en la iteración i + 1     (valor aproximado)
Entonces
       Ei = r – Xi : Error de truncamiento en la iteración i
        Ei + 1 = r – Xi+1: Error de truncamiento en la iteración i + 1

2.1.3   Finalización de un proceso iterativo
Con la definición de convergencia se puede establecer un criterio para finalizar el proceso
iterativo. Consideremos los resultados de dos iteraciones consecutivas: xi , xi+1

Si el método converge, xi → r y también xi+ 1 → r
                          i→ ∞                   i→ ∞
Restando estas dos expresiones: xi+ 1 − xi → 0 , se puede establecer un criterio de convergencia
                                      i→∞
Definición: Criterio para finalizar un proceso iterativo (error absoluto)

Sea ε algún valor positivo arbitrariamente pequeño.
Si el método converge, se cumplirá que a partir de alguna iteración i:
        |Xi+1 - Xi| < ε   .


Este valor ε es el error de truncamiento absoluto y puede usarse como una medida para la
precisión de la respuesta calculada.

La precisión utilizada en los cálculos aritméticos, debe ser coherente con el error de
truncamiento del método numérico y con los errores inherentes en el modelo matemático.

Adicionalmente, es necesario verificar que la respuesta final sea aceptable para el modelo
matemático y para el problema que se está resolviendo.
12

Ejemplo. Se desea que la respuesta calculada para un problema con un método iterativo tenga
un error absoluto menor que 0.0001. Entonces el algoritmo deberá terminar cuando se cumpla
que |Xi+1 - Xi| < 0.0001. Los cálculos deben realizarse al menos con la misma precisión.

Para que el criterio del error      ε sea independiente de la magnitud del resultado, conviene usar la
definición del error relativo:

Definición: Criterio para finalizar un proceso iterativo (error relativo)

Sea ε algún valor positivo arbitrariamente pequeño.
Si el método converge, se cumplirá que a partir de alguna iteración i:
         | xi+ 1 − xi |
                        <ε       .
            | xi+ 1 |

Este valor ε es el error de truncamiento relativo y puede usarse como una medida para la
precisión de la respuesta calculada, independiente de la magnitud de la respuesta. Para calcular
el error relativo se toma el último valor como si fuese exacto.

Ejemplo. Se desea que la respuesta calculada para un problema con un método iterativo tenga
un error relativo menor que 0.1%. Entonces el algoritmo deberá terminar cuando se cumpla que
         | xi+ 1 − xi |
                        < 0.001 .
            | xi+ 1 |

2.1.4   Eficiencia de un método iterativo
Sean Ei , Ei+ 1 los errores de truncamiento en las iteraciones i, i + 1 respectivamente. Se
supondrá que estos valores son pequeños y menores a 1.

Si a partir de algún i esta relación puede especificarse como | Ei+ 1 | ≤ k | Ei |, siendo k alguna
constante positiva menor que uno, entonces se dice que la convergencia es lineal o de primer
orden y k es el factor de convergencia. Se puede usar la notación O( ) y escribir Ei+ 1 = O(Ei )
para expresar de una manera simple esta relación lineal.

Si en un método esta relación es más fuerte tal como Ei+ 1 = O(Ei2 ) entonces el error se reducirá
más rápidamente y se dice que el método tiene convergencia cuadrática o de segundo orden.

Definición: Orden de convergencia de un método iterativo

Sean Ei , Ei+ 1 los errores en las iteraciones consecutivas i, i + 1 respectivamente
Si se pueden relacionar estos errores en la forma:
        Ei+ 1 = O(En )
                    i
Entonces se dice que el método iterativo tiene convergencia de orden n.

Si un método iterativo tiene convergencia mayor que lineal, entonces si el método converge, lo
hará más rápidamente.                        .

2.1.5   Elección del valor inicial
Los métodos iterativos normalmente requieren que el valor inicial sea elegido apropiadamente. Si
es elegido al azar, puede ocurrir que no se produzca la convergencia.

Si el problema es simple, mediante algún análisis previo puede definirse una región de
convergencia tal que si el valor inicial y los valores calculados en cada iteración permanecen
en esta región, el método converge.
13

2.1.6   Preguntas

Conteste las siguientes preguntas

1. ¿Por que el error de redondeo no debe ser mayor que el error de truncamiento?

2. Una ventaja de los métodos iterativos es que son auto-correctivos, es decir que si se introduce
algún error aritmético en una iteración, en las siguientes puede ser corregido. ¿cuando no
ocurriría esta auto-corrección?

3. El ejemplo del método numérico para calcular       7 produce una secuencia numérica. ¿Le
parece que la convergencia es lineal o cuadrática?

2.metodo iterativo

  • 1.
    8 2 TIPOS DE MÉTODOS NUMÉRICOS Existen dos estrategias para diseñar métodos numéricos y es importante conocer sus características para elegirlos adecuadamente, así como su instrumentación computacional 2.1 Métodos iterativos Estos métodos incluyen fórmulas que tienen la propiedad de producir un resultado más cercano a la respuesta a partir de un valor estimado previo. El resultado obtenido se puede usar nuevamente como valor previo y continuar mejorando la respuesta. Los métodos iterativos se acercan a la respuesta mediante aproximaciones sucesivas. Para usar estos métodos deben considerarse algunos aspectos tales como la elección del valor inicial, la propiedad de convergencia de la fórmula y el criterio para terminar las iteraciones. Estos métodos son auto-correctivos. La precisión de la respuesta está dada por la distancia entre el último valor calculado y la respuesta esperada. Este es el error de truncamiento. El siguiente gráfico describe la estructura de un método iterativo Cada ciclo se denomina iteración. Si la fórmula converge, en cada iteración la respuesta estará más cerca del resultado buscado. Aunque en general no es posible llegar a la respuesta exacta, se puede acercar a ella tanto como lo permita la aritmética computacional del dispositivo de cálculo. Ejemplo. Instrumentar un método iterativo para calcular la raíz cuadrada r de un número real positivo n mediante operaciones aritméticas básicas Método Numérico Se usará una fórmula que recibe un valor estimado para la raíz cuadrada y produce un valor más cercano a la respuesta. Si se usa repetidamente la fórmula cada resultado tenderá a un valor final que suponemos es la respuesta buscada. La obtención de estas fórmulas se realizará posteriormente. Sean x: valor estimado para la raíz r 1 n Fórmula iterativa:=y (x + ) 2 x Algoritmo 1. Dado n 2. Elegir el valor inicial x 1 n = 3. Calcular y (x + ) 2 x 4. Terminar si |x-y| es suficientemente pequeño 5. Asignar x a y. Regresar al paso 3 6. El último valor x será un valor aproximado para la raíz r
  • 2.
    9 Ejemplo. Calcular r= 7 con la fórmula iterativa anterior Usaremos x = 3 como valor inicial Cálculos en MATLAB >> format long >> n=7; >> x=3; >> y=0.5*(x+n/x) y= 2.666666666666667 >> x=y; >> y=0.5*(x+n/x) y= 2.645833333333333 >> x=y; >> y=0.5*(x+n/x) y= 2.645751312335958 >> x=y; >> y=0.5*(x+n/x) y= 2.645751311064591 >> x=y; >> y=0.5*(x+n/x) y= 2.645751311064591 El último resultado tiene quince dígitos decimales que no cambian, por lo tanto podemos suponer que la respuesta tiene esa precisión. Se observa la rápida convergencia de la sucesión de números generad. Sin embargo es necesario verificar si la solución es aceptable pues si los números convergen a un valor, no necesariamente es la respuesta correcta >> y^2 ans = 7.00000000000000 Se comprueba que el último valor calculado es la raíz cuadrada de 7 Ejemplo. Suponer que se propone la siguiente fórmula iterativa para el ejemplo anterior: n = 0.4(x + ) y x >> n=7; >> x=3; >> y=0.4*(x+n/x) y= 2.133333333333334 >> x=y; >> y=0.4*(x+n/x) y= 2.165833333333333 >> x=y; >> y=0.4*(x+n/x)
  • 3.
    10 y= 2.159138258304477 >> x=y; >> y=0.4*(x+n/x) y= 2.160468969251076 >> x=y; >> y=0.4*(x+n/x) y= 2.160202499208563 >> x=y; >> y=0.4*(x+n/x) y= 2.160255780068987 . . . >> x=y; >> y=0.4*(x+n/x) y= 2.160246899469289 >> x=y; >> y=0.4*(x+n/x) y= 2.160246899469287 >> x=y; >> y=0.4*(x+n/x) y= 2.160246899469287 >> y^2 ans = 4.66666666666666 La fórmula converge pero el resultado final no es la raíz cuadrada de 7. Esto plantea la importancia de verificar la formulación del método numérico y la validación de la respuesta obtenida. En general, los métodos numéricos se enfocan a resolver una clase o tipo de problemas. El ejemplo anterior es un caso particular del problema general: la solución de ecuaciones no lineales f(x)=0
  • 4.
    11 2.1.1 Convergencia de los métodos iterativos Es la propiedad que tienen las formulas iterativas de un método numérico para producir resultados cada vez más cercanos a la respuesta esperada. Definición: Convergencia de un método iterativo Sean r : Respuesta del problema (valor desconocido) Xi : Valor calculado en la iteración i (valor aproximado) Si un método iterativo converge, entonces xi → r . i→ ∞ . 2.1.2 Error de truncamiento La distancia entre cada valor calculado con una fórmula iterativa y la respuesta esperada se denomina error de truncamiento. Si la fórmula iterativa converge, la distancia entre valores consecutivos se debe reducir y se puede usar como una medida para el error de truncamiento. Definición: Error de truncamiento Sean r : Respuesta del problema (valor desconocido) Xi : Valor calculado en la iteración i (valor aproximado) Xi+1: Valor calculado en la iteración i + 1 (valor aproximado) Entonces Ei = r – Xi : Error de truncamiento en la iteración i Ei + 1 = r – Xi+1: Error de truncamiento en la iteración i + 1 2.1.3 Finalización de un proceso iterativo Con la definición de convergencia se puede establecer un criterio para finalizar el proceso iterativo. Consideremos los resultados de dos iteraciones consecutivas: xi , xi+1 Si el método converge, xi → r y también xi+ 1 → r i→ ∞ i→ ∞ Restando estas dos expresiones: xi+ 1 − xi → 0 , se puede establecer un criterio de convergencia i→∞ Definición: Criterio para finalizar un proceso iterativo (error absoluto) Sea ε algún valor positivo arbitrariamente pequeño. Si el método converge, se cumplirá que a partir de alguna iteración i: |Xi+1 - Xi| < ε . Este valor ε es el error de truncamiento absoluto y puede usarse como una medida para la precisión de la respuesta calculada. La precisión utilizada en los cálculos aritméticos, debe ser coherente con el error de truncamiento del método numérico y con los errores inherentes en el modelo matemático. Adicionalmente, es necesario verificar que la respuesta final sea aceptable para el modelo matemático y para el problema que se está resolviendo.
  • 5.
    12 Ejemplo. Se deseaque la respuesta calculada para un problema con un método iterativo tenga un error absoluto menor que 0.0001. Entonces el algoritmo deberá terminar cuando se cumpla que |Xi+1 - Xi| < 0.0001. Los cálculos deben realizarse al menos con la misma precisión. Para que el criterio del error ε sea independiente de la magnitud del resultado, conviene usar la definición del error relativo: Definición: Criterio para finalizar un proceso iterativo (error relativo) Sea ε algún valor positivo arbitrariamente pequeño. Si el método converge, se cumplirá que a partir de alguna iteración i: | xi+ 1 − xi | <ε . | xi+ 1 | Este valor ε es el error de truncamiento relativo y puede usarse como una medida para la precisión de la respuesta calculada, independiente de la magnitud de la respuesta. Para calcular el error relativo se toma el último valor como si fuese exacto. Ejemplo. Se desea que la respuesta calculada para un problema con un método iterativo tenga un error relativo menor que 0.1%. Entonces el algoritmo deberá terminar cuando se cumpla que | xi+ 1 − xi | < 0.001 . | xi+ 1 | 2.1.4 Eficiencia de un método iterativo Sean Ei , Ei+ 1 los errores de truncamiento en las iteraciones i, i + 1 respectivamente. Se supondrá que estos valores son pequeños y menores a 1. Si a partir de algún i esta relación puede especificarse como | Ei+ 1 | ≤ k | Ei |, siendo k alguna constante positiva menor que uno, entonces se dice que la convergencia es lineal o de primer orden y k es el factor de convergencia. Se puede usar la notación O( ) y escribir Ei+ 1 = O(Ei ) para expresar de una manera simple esta relación lineal. Si en un método esta relación es más fuerte tal como Ei+ 1 = O(Ei2 ) entonces el error se reducirá más rápidamente y se dice que el método tiene convergencia cuadrática o de segundo orden. Definición: Orden de convergencia de un método iterativo Sean Ei , Ei+ 1 los errores en las iteraciones consecutivas i, i + 1 respectivamente Si se pueden relacionar estos errores en la forma: Ei+ 1 = O(En ) i Entonces se dice que el método iterativo tiene convergencia de orden n. Si un método iterativo tiene convergencia mayor que lineal, entonces si el método converge, lo hará más rápidamente. . 2.1.5 Elección del valor inicial Los métodos iterativos normalmente requieren que el valor inicial sea elegido apropiadamente. Si es elegido al azar, puede ocurrir que no se produzca la convergencia. Si el problema es simple, mediante algún análisis previo puede definirse una región de convergencia tal que si el valor inicial y los valores calculados en cada iteración permanecen en esta región, el método converge.
  • 6.
    13 2.1.6 Preguntas Conteste las siguientes preguntas 1. ¿Por que el error de redondeo no debe ser mayor que el error de truncamiento? 2. Una ventaja de los métodos iterativos es que son auto-correctivos, es decir que si se introduce algún error aritmético en una iteración, en las siguientes puede ser corregido. ¿cuando no ocurriría esta auto-corrección? 3. El ejemplo del método numérico para calcular 7 produce una secuencia numérica. ¿Le parece que la convergencia es lineal o cuadrática?