SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
14


2.2       Métodos directos
Son procedimientos para obtener resultados realizando una secuencia finita de operaciones
aritméticas. La cantidad de cálculos aritméticos depende del tamaño del problema. El resultado
obtenido será exacto siempre que se puedan conservar en forma exacta los valores calculados
en las operaciones aritméticas, caso contrario se introducirán los errores de redondeo.

Ejemplo. Instrumentar un método directo para resolver un sistema triangular inferior de
ecuaciones lineales.
Modelo matemático
            a1,1x1                                    = b1
            a2,1x1 + a2,2x2                           = b2
            a3,1x1 + a3,2x2 + a3,3x3                  = b3
            ....
            an,1x1 + an,2x2 + ax,3x3 + . . . + an,nxn = bn

Siendo:          ai,j: coeficientes (datos)
                 bi : constantes (datos)
                 xi : variables (resultados)

La formulación matemática del método se obtiene despejando sucesivamente xi de la ecuación i
                     1
               x1 =      (b1)
                    a1,1
                         1
                 x2 =        (b2 - a2,1x1)
                        a2,2
                          1
                 x3 =          (b3 - a3,1x1 - a3,2x2)
                        a3,3
                 ...
En general:
                         1
                 xi =        (bi - ai,1x1 - ai,2x2 - . . . - ai,i-1xi-1), i = 2, 3, . . . , n, ai,i ≠ 0
                        ai,i

Algoritmo
       1) Dados n, a, b
                                1
          2) Calcular x1 =          (b1)
                               a1,1
          3) Para i=2,3,…, n
                                    1
          4)    Calcular xi =           (bi - ai,1x1 - ai,2x2 - . . . - ai,i-1xi-1)
                                   ai,i
          5) fin
          6) El vector x contendrá la solución exacta


Este algoritmo es un caso particular del problema general: solución de un sistema de ecuaciones
lineales. Los métodos numéricos normalmente se desarrollan para resolver una clase o tipo
general de problemas
15

Instrumentación computacional en MATLAB
Para que la instrumentación sea general es preferible diseñar cada método numérico
independientemente de los datos de un problema particular. Una instrumentación adecuada
consiste en escribir una función para facilitar el uso del método numérico.

El nombre para la función será triangular. La función recibirá como datos la matriz de
coeficientes a y el vector de constantes b y producirá como resultado el vector solución x

       function x = triangular(a, b)
       n = length(b);
       x(1) = b(1)/a(1,1);
       for i = 2: n
         s = 0;
         for j = 1: i-1
             s = s + a(i,j)*x(j);
         end
         x(i) = (b(i) - s)/a(i,i);
       end


Ejemplo. Escribir los comandos para resolver el siguiente problema usando la función anterior
               3x1             =2
               7x1 + 5x2       =3
               8x1 + 2x2 + 9x3 = 6

               >> a = [3 0 0; 7 5 0; 8 2 9]                    Definir la matriz
               >> b = [2; 3; 6]                                Definir el vector de constantes
               >> x = triangular(a, b)                         Uso de la función



Interacción con MATLAB

  Ventana de
  comandos



                                                                                Ventana de
  Ingreso de                                                                    edición
  comandos



                                                                            Escribir y
                                                                            almacenar la
  Resultados
                                                                            función
  obtenidos
16

2.2.1   Eficiencia de los métodos directos
La eficiencia de un algoritmo está relacionada con el tiempo necesario para obtener la solución.
Este tiempo depende de la cantidad de operaciones aritméticas que se deben realizar. Así, si se
tienen dos algoritmos para resolver un mismo problema, es más eficiente el que requiere menos
operaciones aritméticas para producir el mismo resultado. Adicionalmente, el algoritmo más
eficiente acumulará menos error si los resultados son números reales que no pueden
representarse en forma exacta en el dispositivo de cálculo.

Sea n el tamaño del problema, y T(n) la eficiencia del algoritmo (cantidad de operaciones
aritméticas requeridas). Para obtener T(n) se pueden realizar pruebas en el computador con
diferentes valores de n registrando el tiempo de ejecución. Siendo este tiempo proporcional a la
cantidad de operaciones aritméticas que se realizaron, se puede estimar la función T(n).

Esta forma experimental para determinar T(n) tiene el inconveniente que requiere la
instrumentación computacional del algoritmo para realizar las pruebas. Es preferible conocer la
eficiencia del algoritmo antes de invertir esfuerzo en la programación computacional.

Para determinar T(n) se puede analizar la formulación matemática del método numérico o la
estructura del algoritmo.


Ejemplo. El siguiente algoritmo calcula la suma de los cubos de los primeros n números
naturales. Encontrar T(n)

Sea T la cantidad de sumas que se realizan
               ...
               s←0
               Para i=1, 2, ..., n
                 s←s+i
                          3

               fin
               ...
La suma está dentro de una repetición que se realiza n veces, por lo tanto,
               T(n) = n


Ejemplo. El siguiente algoritmo suma los elementos de una matriz cuadrada a de orden n.
Encontrar T(n)

Sea T la cantidad de sumas
                 ...
                 s←0
                 Para i=1, 2, ..., n
                   Para j=1, 2, ..., n
                     s ← s + ai, j
                   fin
                 fin
                 ...
La suma está incluida en una repetición doble. La variable i, cambia n veces y para cada uno de
sus valores, la variable j cambia n veces. Por lo tanto.
                          2
                 T(n) = n
17

Ejemplo. El siguiente algoritmo es una modificación del anterior. Suponga que se desea sumar
únicamente los elementos de la sub-matriz triangular superior. Obtener T(n)
               ...
               s←0
               Para i=1, 2, ..., n
                 Para j=i, i+1, ..., n
                   s ← s + ai, j
                 fin
               fin
               ...

Si no es evidente la forma de T(n), se puede recorrer el algoritmo y anotar la cantidad de sumas
que se realizan
        i        j
        1       n
        2       n-1
        3       n-2
        ...     ...
        n-1     2
        n       1
                                   n          n2 n
Entonces, T(n) = 1 + 2 + .... + n = (n + 1) =   +        (suma de una serie aritmética)
                                   2          2 2


2.2.2   La notación O( )
Supongamos que para resolver un problema se han diseñado dos algoritmos: A y B, con
                                     2
eficiencias TA(n) = 10n+2, TB(n) = 2n + 3, respectivamente. ¿Cual algoritmo es más eficiente?.

Para valores pequeños de n, TB(n) < TA(n), pero para valores grandes de n, TA(n) < TB(n). Es
de interés práctico determinar la eficiencia de los algoritmos para valores grandes de n. Por lo
tanto el algoritmo A es más eficiente que el algoritmo B como se puede observar en el gráfico:




Si T(n) incluye términos con n que tienen diferente orden, es suficiente considerar el término de
mayor orden pues es el que determina la eficiencia del algoritmo cuando n es grande. No es
necesario incluir los coeficientes y las constantes.
18


                            2
Ejemplo. Suponga T(n) = n + n + 10. Evaluar T para algunos valores de n
       T(2)   = 4 + 2 + 10
       T(5)   = 25 + 5 + 10
       T(20) = 400 + 20 + 10
       T(100) = 10000 + 100 + 10
                                                                                 2
Se observa que a medida que n crece, T depende principalmente de n . Este hecho se puede
expresar usando la notación O( ) la cual indica el “orden” de la eficiencia del algoritmo, y se
                             2                                                      2
puede escribir: T(n) = O(n ) lo cual significa que la eficiencia es proporcional a n , y se dice que
el algoritmo tiene eficiencia cuadrática o de segundo orden.

En general, dado un problema de tamaño n, la medida de la eficiencia T(n) de un algoritmo se
                                                                                            2   3
puede expresar con la notación O(g(n)) siendo g(n) alguna expresión tal como: n, n , n , ...,
                        n
log(n), n log(n), ..., 2 , n!, ... la cual expresa el orden de la cantidad de operaciones aritméticas
que requiere el algoritmo.

Es de interés medir la eficiencia de los algoritmos para problemas de tamaño grande, pues para
estos valores de n se debe conocer la eficiencia. En el siguiente cuadro se ha tabulado T(n) con
algunos valores de n y para algunas funciones típicas g(n).

Tabulación de T(n) con algunos valores de n para algunas funciones típicas g(n)
                                           2          3               n
          n [log(n)] n [n log(n)]      n          n               2              n!

          1     0      1      0     1      1                     2              1
          3     1      3      3     9      27                    8              6
          5     1      5      8    25     125                    32            120
          7     1      7     13    49     343                   128           5040
                                                                                   5
          9     2      9     19    81     729                   512       3.62x10
                                                                                    7
         11     2     11     26   121    1331                  2048        3.99x10
                                                                                    9
         13     2     13     33   169    2197                  8192        6.22x10
                                                                                   12
         15     2     15     40   225    3375                32768        1.30x10
                                                                    5              14
         17     2     17     48   289    4913              1.31x10        3.55x10
                                                                    5              17
         19     2     19     55   361    6859              5.24x10        1.21x10
                                                                    6              19
         21     3     21     63   441    9261              2.09x10        5.10x10
                                                                    6              22
         23     3     23     72   529   12167              8.38x10        2.58x10
                                                                    7              25
         25     3     25     80   625   15625              3.35x10        1.55x10
                                                                   15              64
         50     3     50    195 2500 125000               1.12x10          3.04x10
                                                                   30             157
        100     4    100    460 10000 1000000             1.26x10         9.33x10


Los algoritmos en las dos últimas columnas son de tipo exponencial y factorial
respectivamente. Se puede observar que aún con valores relativamente pequeños de n el valor
de T(n) es extremadamente alto. Los algoritmos con este tipo de eficiencia se denominan no-
factibles pues ningún computador actual pudiera calcular la solución en un tiempo aceptable
para valores de n grandes

La mayoría de los algoritmos que corresponden a los métodos numéricos son de tipo polinomial
               2    3
con g(n) = n, n , n                                   .
19

2.2.3   Error de redondeo
Los métodos numéricos operan con datos que pueden ser inexactos y dispositivos para registrar
o representar a los números reales. El error de redondeo se atribuye a la imposibilidad de
almacenar todas las cifras de estos números y a la imprecisión de los instrumentos de medición
con los cuales se obtienen los datos.

Definición: Error de redondeo

Sean    X: Valor exacto          (normalmente desconocido)
        X : Valor aproximado     (observado o calculado)
        EX = X – X               Error de redondeo       .

Definición: Error de redondeo relativo

Sean    X: Valor exacto      (normalmente desconocido)
        X : Valor aproximado (observado o calculado)
        E: Error de redondeo
              EX EX
        =
        eX        ≅    :      Error de redondeo relativo. (X, X diferentes de cero)
               X     X

Debido a que normalmente no es posible calcular exactamente el valor de E, se debe intentar al
menos acotar su valor.

2.2.4   Error en la representación de los números reales
Las operaciones aritméticas pueden producir resultados que no se pueden representar
exactamente en los dispositivos de almacenamiento. Si estos errores se producen en forma
recurrente entonces el error propagado pudiera crecer en forma significativa dependiendo de la
cantidad de operaciones requeridas. Esta cantidad de operaciones está determinada por la
eficiencia del algoritmo.

Ejemplo. Suponga que un dispositivo puede almacenar únicamente los cuatro primeros dígitos
decimales de cada número real y trunca los restantes (esto se llama redondeo inferior).
Se requiere almacenar el número:
         X = 536.78
Primero expresemos el número en forma normalizada, es decir sin enteros y ajustando su
magnitud con potencias de 10:
                        3
         X = 0.53678x10
Ahora descomponemos el número en dos partes
                      3                3
         X = 0.5367x10 + 0.00008x10
El valor almacenado es un valor aproximado
                        3
         X = 0.5367x10
El error de redondeo por la limitación del dispositivo de almacenamiento es
                          3          3-4          -1
         R = 0.00008x10 = 0.8x10         = 0.8x10
En general, si n es la cantidad de enteros del número normalizado con potencias de 10, y m es
la cantidad de cifras decimales que se pueden almacenar en el dispositivo, entonces si se
truncan los decimales sin ajustar la cifra anterior, el error de redondeo absoluto está acotado por:
        | R |< 1 ∗ 10n−m
Mientras que el error relativo:
               max(| R X |) 1 ∗ 10n−m
        | r |<             = =         10 ∗ 10− m         (Solo depende del almacenamiento)
               min(| R |)    0.1 ∗ 10n
20

2.2.5    Error de redondeo en las operaciones aritméticas

En los métodos directos debe considerarse el error en las operaciones aritméticas cuando la
cantidad de cálculos requeridos es significativo

a) Error de redondeo en la suma
Sean    X, Y : Valores exactos
        X , Y : Valores aproximados

Con la definición de error de redondeo
        EX = X - X , EY = Y - Y
        S=X+Y
        S = ( X + EX) + ( Y + EY) = ( X + Y ) + (EX + EY)
        S= X + Y                          Valor que se almacena

Error de redondeo absoluto en la suma
        EX+Y = EX + EY
        |EX+Y| ≤ |EX| + |EY|

Error de redondeo relativo en la suma
                    EX + Y       EX + EY          EX       EY         X   EX        Y   EY
          eX+ Y =            =               =         +         =             +
                    X+Y              X+Y         X+Y       X+Y       X+Y X         X+Y Y
                       X                 Y
        =
        eX + Y               ex +                eY
                    X+Y                X+Y
                                 X                Y
         | eX + Y | ≤ |               ex | + |         eY |
                             X+Y                 X+Y

b) Error de redondeo en la multiplicación
       P=XY
       P = ( X + EX) ( Y + EY) = X Y + X EY + Y EX + EXEY
       P = X Y + X EY + Y EX            El último término se descarta por ser muy pequeño
       P= X Y                           Valor que se almacena

Error de redondeo absoluto en la multiplicación
        EXY = X EY + Y EX
        |EXY| ≤ | X EY| + | Y EX|

La magnitud del error de redondeo en la multiplicación puede ser tan grande como la suma de
los errores de redondeo de los operandos ponderada por cada uno de sus respectivos valores.

Error de redondeo relativo en la multiplicación
                E    XE + YEX XEY YEX EY EX
          e XY = XY = Y      =   +    = +
                XY      XY    XY   XY  Y  X
          e XY e x + e Y
             =
          | e XY | ≤ | e x | + |e Y |

En general, si los valores de los operandos tienen ambos el mismo signo, se puede concluir que
la operación aritmética de multiplicación puede propagar más error de redondeo que la suma.
Adicionalmente, si el resultado de cada operación aritmética debe almacenarse hay que agregar
el error de redondeo r debido a la limitación del dispositivo de almacenamiento.
21

2.2.6   Propagación del error de redondeo en las operaciones aritméticas
Algunos casos de interés

a) Suma de números de diferente magnitud
Es suficiente considerar tres números: X, Y, Z. Suponer por simplicidad que los datos son
valores positivos exactos, por lo tanto eX = 0, eY = 0, ez = 0

        S = X + Y + Z,          con     X>Y>Z

a) La suma se realiza en el orden escrito

        S = (X + Y) + Z
                  X         Y
        eX + Y =      eX +     e Y + r1 = r1                  r1: error de redondeo al almacenar la suma
                 X+Y       X+Y

                           X+Y                  Z                 X+Y             (X + Y)r1 + (X + Y + Z)r2
        =
        e(X + Y)+ Z                eX + Y +        =e Z + r2            = r1 + r2
                       X+Y+Z                  X+Y+Z             X+Y+Z                    X+Y+Z
                                                             r2: error de redondeo al almacenar la suma
Si cada resultado se almacena en un dispositivo que tiene m cifras su cota de error de redondeo:
        | r1,r2 |< 10 ∗ 10− m

                           (2X + 2Y + Z)10 ∗ 10 − m
        | e(X + Y)+ Z |<
                          X+Y+Z
Se puede concluir que la suma de números debe realizarse comenzando con los números de
menor magnitud

b) Resta de números con valores muy cercanos
Suponer que se deben restar dos números muy cercanos X=578.1, Y=577.8 con error de
redondeo en el segundo decimal: EX=EY=0.05 aproximadamente (ambos errores pueden ser del
mismo signo o de diferente signo, depende de la forma como se obtuvieron los datos X, Y)
                EX                                 EY
        e X = 0.000086 =
                   ≅              0.0086% , e Y = 0.000086 =
                                                       ≅           0.0086%
                 X                                  Y
Cota para el error de redondeo relativo:
                  EX − Y EX − EY       EX     EY
       = =
        eX − Y               =              −
                  X−Y      X−Y        X−Y X−Y
                         EX          EY
        | eX − Y | ≤ |        |+|−        |
                        X−Y         X−Y
                            0.05                0.05
        | eX − Y | ≤ |                |+|−                | ≅ 0.3333 =33.33%
                        578.1 − 577.8       578.1 − 577.8

El aumento en la cota del error en el resultado es muy significativo con respecto a los operandos.
Se concluye que se debe evitar restar números cuya magnitud sea muy cercana.

Adicionalmente habría que aumentar el efecto del error de redondeo r al almacenar el resultado.
22

2.2.7   Ejercicios
1. Suponga que tiene tres algoritmos: A, B, C con eficiencia respectivamente:
       TA(n) = 5n + 50
       TB(n) = 10n ln(n) + 5
                  2
       TC(n) = 3n + 1

        a) Determine n a partir del cual A es más eficiente que B
        b) Determine n a partir del cual B es más eficiente que C
        c) Coloque los algoritmos ordenados según el criterio de eficiencia establecido

2. Exprese la eficiencia de los algoritmos A, B, C con la notación O( )

3. Los computadores actuales pueden realizar 100 millones de operaciones aritméticas en un
segundo. Calcule cuanto tiempo tardaría este computador para resolver un problema de tamaño
n=50 si el algoritmo es de tipo:
        a) Polinomial de tercer grado
        b) Exponencial
        c) Factorial

4. Determine la función de eficiencia T(n) del algoritmo Triangular incluido en el capítulo 1 y
exprésela con la notación O( ). Suponga que es de interés conocer la cantidad total de
multiplicaciones que se realizan.

5. Encuentre la cota del error relativo en la siguiente operación aritmética:
         T = X(Y – Z)
   El error de redondeo relativo de los operandos es respectivamente eX, eY, ez, y el error
   de redondeo relativo en el dispositivo de almacenamiento es rm

  a) Primero se realiza la multiplicación y luego la resta
  b) Primero se realiza la resta y luego la multiplicación

6. Dado el siguiente algoritmo
                 Ingresar n
                 Mientras n>0 repita
                     d ← mod(n, 2)              Produce el residuo entero de la división n/2
                     n ← fix(n/2)               Asigna el cociente entero de la división n/2
                     Mostrar d
                 fin

a) Recorra el algoritmo con n = 73
b) Suponga que T(n) representa la cantidad de operaciones aritméticas de división que se
realizan para resolver el problema de tamaño n. Encuentre T(n) y exprésela con la notación O( )
Para obtener T(n) observe el hecho de que en cada ciclo, el valor de n se reduce
aproximadamente a la mitad.

Más contenido relacionado

La actualidad más candente

Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlab
Vitoto96
 
Algoritmos2d
Algoritmos2dAlgoritmos2d
Algoritmos2d
ozkar Yn
 
Capitulo4 pdf
Capitulo4 pdfCapitulo4 pdf
Capitulo4 pdf
elchayo
 
Integrales area electricidad, electronica y telecomunicaciones [muy bueno]
Integrales   area electricidad, electronica y telecomunicaciones [muy bueno]Integrales   area electricidad, electronica y telecomunicaciones [muy bueno]
Integrales area electricidad, electronica y telecomunicaciones [muy bueno]
meltoguardado
 
Calculode limitedefunciones
Calculode limitedefuncionesCalculode limitedefunciones
Calculode limitedefunciones
chatchat
 

La actualidad más candente (20)

Solución de Ecuaciones Diferenciales Ordinarias por los Métodos de Euler, Run...
Solución de Ecuaciones Diferenciales Ordinarias por los Métodos de Euler, Run...Solución de Ecuaciones Diferenciales Ordinarias por los Métodos de Euler, Run...
Solución de Ecuaciones Diferenciales Ordinarias por los Métodos de Euler, Run...
 
Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlab
 
Algoritmos2d
Algoritmos2dAlgoritmos2d
Algoritmos2d
 
Python
PythonPython
Python
 
Capitulo4 pdf
Capitulo4 pdfCapitulo4 pdf
Capitulo4 pdf
 
Algebra
AlgebraAlgebra
Algebra
 
Manual de calculo vectorial 2008
Manual de calculo vectorial 2008Manual de calculo vectorial 2008
Manual de calculo vectorial 2008
 
9.metododegauss
9.metododegauss9.metododegauss
9.metododegauss
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
Funcion primer grado
Funcion primer gradoFuncion primer grado
Funcion primer grado
 
Cálculo Integral para Empresariales
Cálculo Integral para EmpresarialesCálculo Integral para Empresariales
Cálculo Integral para Empresariales
 
Resolviendo problemas de limites de sucesiones al infinito
Resolviendo problemas de limites de sucesiones al infinitoResolviendo problemas de limites de sucesiones al infinito
Resolviendo problemas de limites de sucesiones al infinito
 
Capitulo 5 integracion
Capitulo 5 integracionCapitulo 5 integracion
Capitulo 5 integracion
 
Teoria y problemas de calculo integral ccesa007
Teoria y  problemas  de calculo integral   ccesa007Teoria y  problemas  de calculo integral   ccesa007
Teoria y problemas de calculo integral ccesa007
 
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
 
Trabajo calculo-2-paola c11
Trabajo calculo-2-paola c11Trabajo calculo-2-paola c11
Trabajo calculo-2-paola c11
 
Integrales area electricidad, electronica y telecomunicaciones [muy bueno]
Integrales   area electricidad, electronica y telecomunicaciones [muy bueno]Integrales   area electricidad, electronica y telecomunicaciones [muy bueno]
Integrales area electricidad, electronica y telecomunicaciones [muy bueno]
 
Lectura 1
Lectura 1Lectura 1
Lectura 1
 
Integral indefinida
Integral indefinidaIntegral indefinida
Integral indefinida
 
Calculode limitedefunciones
Calculode limitedefuncionesCalculode limitedefunciones
Calculode limitedefunciones
 

Destacado

Unidad 2.1.4
Unidad 2.1.4Unidad 2.1.4
Unidad 2.1.4
Kuepa
 
Chehoviin tyyver zohiol
Chehoviin tyyver zohiolChehoviin tyyver zohiol
Chehoviin tyyver zohiol
bayarankh
 
Blog cpu 1
Blog cpu 1Blog cpu 1
Blog cpu 1
ermawidi
 
Sicad II Circular 21 03 2014
Sicad II  Circular 21 03 2014Sicad II  Circular 21 03 2014
Sicad II Circular 21 03 2014
Aura Palermo
 
20120203 burgerparticipatie met nieuwe media (deel 2)
20120203 burgerparticipatie met nieuwe media (deel 2)20120203 burgerparticipatie met nieuwe media (deel 2)
20120203 burgerparticipatie met nieuwe media (deel 2)
I Like Media
 
Dikacy
DikacyDikacy
Dikacy
dikacy
 
Materiales utilizados en la informática de rojas
Materiales utilizados en la informática de rojasMateriales utilizados en la informática de rojas
Materiales utilizados en la informática de rojas
matonciita20
 
Unidad 2.2.5
Unidad 2.2.5Unidad 2.2.5
Unidad 2.2.5
Kuepa
 
Nataaaaaaaalia
NataaaaaaaaliaNataaaaaaaalia
Nataaaaaaaalia
Lv15
 
GO 40.405 Nuevo Contrato de Fiel Cumplimiento Operaciones Cambiarias CENCOEX...
GO 40.405  Nuevo Contrato de Fiel Cumplimiento Operaciones Cambiarias CENCOEX...GO 40.405  Nuevo Contrato de Fiel Cumplimiento Operaciones Cambiarias CENCOEX...
GO 40.405 Nuevo Contrato de Fiel Cumplimiento Operaciones Cambiarias CENCOEX...
Aura Palermo
 
Gestión básica de la información (1)
Gestión básica de la información (1)Gestión básica de la información (1)
Gestión básica de la información (1)
camilomartinez22
 

Destacado (20)

Unidad 2.1.4
Unidad 2.1.4Unidad 2.1.4
Unidad 2.1.4
 
Iniciativa en los niños
Iniciativa en los niñosIniciativa en los niños
Iniciativa en los niños
 
Chehoviin tyyver zohiol
Chehoviin tyyver zohiolChehoviin tyyver zohiol
Chehoviin tyyver zohiol
 
Blog cpu 1
Blog cpu 1Blog cpu 1
Blog cpu 1
 
Sicad II Circular 21 03 2014
Sicad II  Circular 21 03 2014Sicad II  Circular 21 03 2014
Sicad II Circular 21 03 2014
 
Algoritmia
AlgoritmiaAlgoritmia
Algoritmia
 
Uma nova realidade
Uma nova realidadeUma nova realidade
Uma nova realidade
 
Evidence for evolution
Evidence for evolutionEvidence for evolution
Evidence for evolution
 
20120203 burgerparticipatie met nieuwe media (deel 2)
20120203 burgerparticipatie met nieuwe media (deel 2)20120203 burgerparticipatie met nieuwe media (deel 2)
20120203 burgerparticipatie met nieuwe media (deel 2)
 
Redes sociais locativas: usos e possibilidades do Foursquare
Redes sociais locativas: usos e possibilidades do Foursquare Redes sociais locativas: usos e possibilidades do Foursquare
Redes sociais locativas: usos e possibilidades do Foursquare
 
Alta costura
Alta costuraAlta costura
Alta costura
 
Expo riñoes
Expo riñoesExpo riñoes
Expo riñoes
 
Dikacy
DikacyDikacy
Dikacy
 
Materiales utilizados en la informática de rojas
Materiales utilizados en la informática de rojasMateriales utilizados en la informática de rojas
Materiales utilizados en la informática de rojas
 
Unidad 2.2.5
Unidad 2.2.5Unidad 2.2.5
Unidad 2.2.5
 
Nataaaaaaaalia
NataaaaaaaaliaNataaaaaaaalia
Nataaaaaaaalia
 
GO 40.405 Nuevo Contrato de Fiel Cumplimiento Operaciones Cambiarias CENCOEX...
GO 40.405  Nuevo Contrato de Fiel Cumplimiento Operaciones Cambiarias CENCOEX...GO 40.405  Nuevo Contrato de Fiel Cumplimiento Operaciones Cambiarias CENCOEX...
GO 40.405 Nuevo Contrato de Fiel Cumplimiento Operaciones Cambiarias CENCOEX...
 
Apresentacao trofeu24 hbtt_25jan2012
Apresentacao trofeu24 hbtt_25jan2012Apresentacao trofeu24 hbtt_25jan2012
Apresentacao trofeu24 hbtt_25jan2012
 
Gestión básica de la información (1)
Gestión básica de la información (1)Gestión básica de la información (1)
Gestión básica de la información (1)
 
Diaporama gloria
Diaporama gloriaDiaporama gloria
Diaporama gloria
 

Similar a An 04 metodos-directos

Métodos Directos
Métodos DirectosMétodos Directos
Métodos Directos
Kike Prieto
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
jamarzo
 
UTPL-FUNDAMENTOS MATEMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-FUNDAMENTOS MATEMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-FUNDAMENTOS MATEMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-FUNDAMENTOS MATEMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
Videoconferencias UTPL
 

Similar a An 04 metodos-directos (20)

Métodos Directos
Métodos DirectosMétodos Directos
Métodos Directos
 
Matlab
MatlabMatlab
Matlab
 
Computadoras y mecanica de fluidos
Computadoras y mecanica de fluidosComputadoras y mecanica de fluidos
Computadoras y mecanica de fluidos
 
Practica2
Practica2Practica2
Practica2
 
Expresiones algebraicas
Expresiones algebraicasExpresiones algebraicas
Expresiones algebraicas
 
Informe
InformeInforme
Informe
 
Logaritmos
LogaritmosLogaritmos
Logaritmos
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
 
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
 
matlab
matlabmatlab
matlab
 
Guia 3 2_s_2015
Guia 3 2_s_2015Guia 3 2_s_2015
Guia 3 2_s_2015
 
Cursos de MATLAB
Cursos de MATLABCursos de MATLAB
Cursos de MATLAB
 
Electrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoElectrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicado
 
Matlabreyes
MatlabreyesMatlabreyes
Matlabreyes
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Mairelys Marin IN0114 MI.pptx
Mairelys Marin IN0114 MI.pptxMairelys Marin IN0114 MI.pptx
Mairelys Marin IN0114 MI.pptx
 
UTPL-FUNDAMENTOS MATEMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-FUNDAMENTOS MATEMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-FUNDAMENTOS MATEMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-FUNDAMENTOS MATEMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
Taller 10-14-ii
Taller 10-14-iiTaller 10-14-ii
Taller 10-14-ii
 
REPÚBLICA BOLIVARIANA DE VENEZUELA.docx
REPÚBLICA BOLIVARIANA DE VENEZUELA.docxREPÚBLICA BOLIVARIANA DE VENEZUELA.docx
REPÚBLICA BOLIVARIANA DE VENEZUELA.docx
 
REPÚBLICA BOLIVARIANA DE VENEZUELA.docx
REPÚBLICA BOLIVARIANA DE VENEZUELA.docxREPÚBLICA BOLIVARIANA DE VENEZUELA.docx
REPÚBLICA BOLIVARIANA DE VENEZUELA.docx
 

Último

2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
candy torres
 
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIACOMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
Wilian24
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
animalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdfanimalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdf
 
UNIDAD 3 -MAYO - IV CICLO para cuarto grado
UNIDAD 3 -MAYO - IV CICLO para cuarto gradoUNIDAD 3 -MAYO - IV CICLO para cuarto grado
UNIDAD 3 -MAYO - IV CICLO para cuarto grado
 
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIACOMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
 
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdfREGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptxAEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 

An 04 metodos-directos

  • 1. 14 2.2 Métodos directos Son procedimientos para obtener resultados realizando una secuencia finita de operaciones aritméticas. La cantidad de cálculos aritméticos depende del tamaño del problema. El resultado obtenido será exacto siempre que se puedan conservar en forma exacta los valores calculados en las operaciones aritméticas, caso contrario se introducirán los errores de redondeo. Ejemplo. Instrumentar un método directo para resolver un sistema triangular inferior de ecuaciones lineales. Modelo matemático a1,1x1 = b1 a2,1x1 + a2,2x2 = b2 a3,1x1 + a3,2x2 + a3,3x3 = b3 .... an,1x1 + an,2x2 + ax,3x3 + . . . + an,nxn = bn Siendo: ai,j: coeficientes (datos) bi : constantes (datos) xi : variables (resultados) La formulación matemática del método se obtiene despejando sucesivamente xi de la ecuación i 1 x1 = (b1) a1,1 1 x2 = (b2 - a2,1x1) a2,2 1 x3 = (b3 - a3,1x1 - a3,2x2) a3,3 ... En general: 1 xi = (bi - ai,1x1 - ai,2x2 - . . . - ai,i-1xi-1), i = 2, 3, . . . , n, ai,i ≠ 0 ai,i Algoritmo 1) Dados n, a, b 1 2) Calcular x1 = (b1) a1,1 3) Para i=2,3,…, n 1 4) Calcular xi = (bi - ai,1x1 - ai,2x2 - . . . - ai,i-1xi-1) ai,i 5) fin 6) El vector x contendrá la solución exacta Este algoritmo es un caso particular del problema general: solución de un sistema de ecuaciones lineales. Los métodos numéricos normalmente se desarrollan para resolver una clase o tipo general de problemas
  • 2. 15 Instrumentación computacional en MATLAB Para que la instrumentación sea general es preferible diseñar cada método numérico independientemente de los datos de un problema particular. Una instrumentación adecuada consiste en escribir una función para facilitar el uso del método numérico. El nombre para la función será triangular. La función recibirá como datos la matriz de coeficientes a y el vector de constantes b y producirá como resultado el vector solución x function x = triangular(a, b) n = length(b); x(1) = b(1)/a(1,1); for i = 2: n s = 0; for j = 1: i-1 s = s + a(i,j)*x(j); end x(i) = (b(i) - s)/a(i,i); end Ejemplo. Escribir los comandos para resolver el siguiente problema usando la función anterior 3x1 =2 7x1 + 5x2 =3 8x1 + 2x2 + 9x3 = 6 >> a = [3 0 0; 7 5 0; 8 2 9] Definir la matriz >> b = [2; 3; 6] Definir el vector de constantes >> x = triangular(a, b) Uso de la función Interacción con MATLAB Ventana de comandos Ventana de Ingreso de edición comandos Escribir y almacenar la Resultados función obtenidos
  • 3. 16 2.2.1 Eficiencia de los métodos directos La eficiencia de un algoritmo está relacionada con el tiempo necesario para obtener la solución. Este tiempo depende de la cantidad de operaciones aritméticas que se deben realizar. Así, si se tienen dos algoritmos para resolver un mismo problema, es más eficiente el que requiere menos operaciones aritméticas para producir el mismo resultado. Adicionalmente, el algoritmo más eficiente acumulará menos error si los resultados son números reales que no pueden representarse en forma exacta en el dispositivo de cálculo. Sea n el tamaño del problema, y T(n) la eficiencia del algoritmo (cantidad de operaciones aritméticas requeridas). Para obtener T(n) se pueden realizar pruebas en el computador con diferentes valores de n registrando el tiempo de ejecución. Siendo este tiempo proporcional a la cantidad de operaciones aritméticas que se realizaron, se puede estimar la función T(n). Esta forma experimental para determinar T(n) tiene el inconveniente que requiere la instrumentación computacional del algoritmo para realizar las pruebas. Es preferible conocer la eficiencia del algoritmo antes de invertir esfuerzo en la programación computacional. Para determinar T(n) se puede analizar la formulación matemática del método numérico o la estructura del algoritmo. Ejemplo. El siguiente algoritmo calcula la suma de los cubos de los primeros n números naturales. Encontrar T(n) Sea T la cantidad de sumas que se realizan ... s←0 Para i=1, 2, ..., n s←s+i 3 fin ... La suma está dentro de una repetición que se realiza n veces, por lo tanto, T(n) = n Ejemplo. El siguiente algoritmo suma los elementos de una matriz cuadrada a de orden n. Encontrar T(n) Sea T la cantidad de sumas ... s←0 Para i=1, 2, ..., n Para j=1, 2, ..., n s ← s + ai, j fin fin ... La suma está incluida en una repetición doble. La variable i, cambia n veces y para cada uno de sus valores, la variable j cambia n veces. Por lo tanto. 2 T(n) = n
  • 4. 17 Ejemplo. El siguiente algoritmo es una modificación del anterior. Suponga que se desea sumar únicamente los elementos de la sub-matriz triangular superior. Obtener T(n) ... s←0 Para i=1, 2, ..., n Para j=i, i+1, ..., n s ← s + ai, j fin fin ... Si no es evidente la forma de T(n), se puede recorrer el algoritmo y anotar la cantidad de sumas que se realizan i j 1 n 2 n-1 3 n-2 ... ... n-1 2 n 1 n n2 n Entonces, T(n) = 1 + 2 + .... + n = (n + 1) = + (suma de una serie aritmética) 2 2 2 2.2.2 La notación O( ) Supongamos que para resolver un problema se han diseñado dos algoritmos: A y B, con 2 eficiencias TA(n) = 10n+2, TB(n) = 2n + 3, respectivamente. ¿Cual algoritmo es más eficiente?. Para valores pequeños de n, TB(n) < TA(n), pero para valores grandes de n, TA(n) < TB(n). Es de interés práctico determinar la eficiencia de los algoritmos para valores grandes de n. Por lo tanto el algoritmo A es más eficiente que el algoritmo B como se puede observar en el gráfico: Si T(n) incluye términos con n que tienen diferente orden, es suficiente considerar el término de mayor orden pues es el que determina la eficiencia del algoritmo cuando n es grande. No es necesario incluir los coeficientes y las constantes.
  • 5. 18 2 Ejemplo. Suponga T(n) = n + n + 10. Evaluar T para algunos valores de n T(2) = 4 + 2 + 10 T(5) = 25 + 5 + 10 T(20) = 400 + 20 + 10 T(100) = 10000 + 100 + 10 2 Se observa que a medida que n crece, T depende principalmente de n . Este hecho se puede expresar usando la notación O( ) la cual indica el “orden” de la eficiencia del algoritmo, y se 2 2 puede escribir: T(n) = O(n ) lo cual significa que la eficiencia es proporcional a n , y se dice que el algoritmo tiene eficiencia cuadrática o de segundo orden. En general, dado un problema de tamaño n, la medida de la eficiencia T(n) de un algoritmo se 2 3 puede expresar con la notación O(g(n)) siendo g(n) alguna expresión tal como: n, n , n , ..., n log(n), n log(n), ..., 2 , n!, ... la cual expresa el orden de la cantidad de operaciones aritméticas que requiere el algoritmo. Es de interés medir la eficiencia de los algoritmos para problemas de tamaño grande, pues para estos valores de n se debe conocer la eficiencia. En el siguiente cuadro se ha tabulado T(n) con algunos valores de n y para algunas funciones típicas g(n). Tabulación de T(n) con algunos valores de n para algunas funciones típicas g(n) 2 3 n n [log(n)] n [n log(n)] n n 2 n! 1 0 1 0 1 1 2 1 3 1 3 3 9 27 8 6 5 1 5 8 25 125 32 120 7 1 7 13 49 343 128 5040 5 9 2 9 19 81 729 512 3.62x10 7 11 2 11 26 121 1331 2048 3.99x10 9 13 2 13 33 169 2197 8192 6.22x10 12 15 2 15 40 225 3375 32768 1.30x10 5 14 17 2 17 48 289 4913 1.31x10 3.55x10 5 17 19 2 19 55 361 6859 5.24x10 1.21x10 6 19 21 3 21 63 441 9261 2.09x10 5.10x10 6 22 23 3 23 72 529 12167 8.38x10 2.58x10 7 25 25 3 25 80 625 15625 3.35x10 1.55x10 15 64 50 3 50 195 2500 125000 1.12x10 3.04x10 30 157 100 4 100 460 10000 1000000 1.26x10 9.33x10 Los algoritmos en las dos últimas columnas son de tipo exponencial y factorial respectivamente. Se puede observar que aún con valores relativamente pequeños de n el valor de T(n) es extremadamente alto. Los algoritmos con este tipo de eficiencia se denominan no- factibles pues ningún computador actual pudiera calcular la solución en un tiempo aceptable para valores de n grandes La mayoría de los algoritmos que corresponden a los métodos numéricos son de tipo polinomial 2 3 con g(n) = n, n , n .
  • 6. 19 2.2.3 Error de redondeo Los métodos numéricos operan con datos que pueden ser inexactos y dispositivos para registrar o representar a los números reales. El error de redondeo se atribuye a la imposibilidad de almacenar todas las cifras de estos números y a la imprecisión de los instrumentos de medición con los cuales se obtienen los datos. Definición: Error de redondeo Sean X: Valor exacto (normalmente desconocido) X : Valor aproximado (observado o calculado) EX = X – X Error de redondeo . Definición: Error de redondeo relativo Sean X: Valor exacto (normalmente desconocido) X : Valor aproximado (observado o calculado) E: Error de redondeo EX EX = eX ≅ : Error de redondeo relativo. (X, X diferentes de cero) X X Debido a que normalmente no es posible calcular exactamente el valor de E, se debe intentar al menos acotar su valor. 2.2.4 Error en la representación de los números reales Las operaciones aritméticas pueden producir resultados que no se pueden representar exactamente en los dispositivos de almacenamiento. Si estos errores se producen en forma recurrente entonces el error propagado pudiera crecer en forma significativa dependiendo de la cantidad de operaciones requeridas. Esta cantidad de operaciones está determinada por la eficiencia del algoritmo. Ejemplo. Suponga que un dispositivo puede almacenar únicamente los cuatro primeros dígitos decimales de cada número real y trunca los restantes (esto se llama redondeo inferior). Se requiere almacenar el número: X = 536.78 Primero expresemos el número en forma normalizada, es decir sin enteros y ajustando su magnitud con potencias de 10: 3 X = 0.53678x10 Ahora descomponemos el número en dos partes 3 3 X = 0.5367x10 + 0.00008x10 El valor almacenado es un valor aproximado 3 X = 0.5367x10 El error de redondeo por la limitación del dispositivo de almacenamiento es 3 3-4 -1 R = 0.00008x10 = 0.8x10 = 0.8x10 En general, si n es la cantidad de enteros del número normalizado con potencias de 10, y m es la cantidad de cifras decimales que se pueden almacenar en el dispositivo, entonces si se truncan los decimales sin ajustar la cifra anterior, el error de redondeo absoluto está acotado por: | R |< 1 ∗ 10n−m Mientras que el error relativo: max(| R X |) 1 ∗ 10n−m | r |< = = 10 ∗ 10− m (Solo depende del almacenamiento) min(| R |) 0.1 ∗ 10n
  • 7. 20 2.2.5 Error de redondeo en las operaciones aritméticas En los métodos directos debe considerarse el error en las operaciones aritméticas cuando la cantidad de cálculos requeridos es significativo a) Error de redondeo en la suma Sean X, Y : Valores exactos X , Y : Valores aproximados Con la definición de error de redondeo EX = X - X , EY = Y - Y S=X+Y S = ( X + EX) + ( Y + EY) = ( X + Y ) + (EX + EY) S= X + Y Valor que se almacena Error de redondeo absoluto en la suma EX+Y = EX + EY |EX+Y| ≤ |EX| + |EY| Error de redondeo relativo en la suma EX + Y EX + EY EX EY X EX Y EY eX+ Y = = = + = + X+Y X+Y X+Y X+Y X+Y X X+Y Y X Y = eX + Y ex + eY X+Y X+Y X Y | eX + Y | ≤ | ex | + | eY | X+Y X+Y b) Error de redondeo en la multiplicación P=XY P = ( X + EX) ( Y + EY) = X Y + X EY + Y EX + EXEY P = X Y + X EY + Y EX El último término se descarta por ser muy pequeño P= X Y Valor que se almacena Error de redondeo absoluto en la multiplicación EXY = X EY + Y EX |EXY| ≤ | X EY| + | Y EX| La magnitud del error de redondeo en la multiplicación puede ser tan grande como la suma de los errores de redondeo de los operandos ponderada por cada uno de sus respectivos valores. Error de redondeo relativo en la multiplicación E XE + YEX XEY YEX EY EX e XY = XY = Y = + = + XY XY XY XY Y X e XY e x + e Y = | e XY | ≤ | e x | + |e Y | En general, si los valores de los operandos tienen ambos el mismo signo, se puede concluir que la operación aritmética de multiplicación puede propagar más error de redondeo que la suma. Adicionalmente, si el resultado de cada operación aritmética debe almacenarse hay que agregar el error de redondeo r debido a la limitación del dispositivo de almacenamiento.
  • 8. 21 2.2.6 Propagación del error de redondeo en las operaciones aritméticas Algunos casos de interés a) Suma de números de diferente magnitud Es suficiente considerar tres números: X, Y, Z. Suponer por simplicidad que los datos son valores positivos exactos, por lo tanto eX = 0, eY = 0, ez = 0 S = X + Y + Z, con X>Y>Z a) La suma se realiza en el orden escrito S = (X + Y) + Z X Y eX + Y = eX + e Y + r1 = r1 r1: error de redondeo al almacenar la suma X+Y X+Y X+Y Z X+Y (X + Y)r1 + (X + Y + Z)r2 = e(X + Y)+ Z eX + Y + =e Z + r2 = r1 + r2 X+Y+Z X+Y+Z X+Y+Z X+Y+Z r2: error de redondeo al almacenar la suma Si cada resultado se almacena en un dispositivo que tiene m cifras su cota de error de redondeo: | r1,r2 |< 10 ∗ 10− m (2X + 2Y + Z)10 ∗ 10 − m | e(X + Y)+ Z |< X+Y+Z Se puede concluir que la suma de números debe realizarse comenzando con los números de menor magnitud b) Resta de números con valores muy cercanos Suponer que se deben restar dos números muy cercanos X=578.1, Y=577.8 con error de redondeo en el segundo decimal: EX=EY=0.05 aproximadamente (ambos errores pueden ser del mismo signo o de diferente signo, depende de la forma como se obtuvieron los datos X, Y) EX EY e X = 0.000086 = ≅ 0.0086% , e Y = 0.000086 = ≅ 0.0086% X Y Cota para el error de redondeo relativo: EX − Y EX − EY EX EY = = eX − Y = − X−Y X−Y X−Y X−Y EX EY | eX − Y | ≤ | |+|− | X−Y X−Y 0.05 0.05 | eX − Y | ≤ | |+|− | ≅ 0.3333 =33.33% 578.1 − 577.8 578.1 − 577.8 El aumento en la cota del error en el resultado es muy significativo con respecto a los operandos. Se concluye que se debe evitar restar números cuya magnitud sea muy cercana. Adicionalmente habría que aumentar el efecto del error de redondeo r al almacenar el resultado.
  • 9. 22 2.2.7 Ejercicios 1. Suponga que tiene tres algoritmos: A, B, C con eficiencia respectivamente: TA(n) = 5n + 50 TB(n) = 10n ln(n) + 5 2 TC(n) = 3n + 1 a) Determine n a partir del cual A es más eficiente que B b) Determine n a partir del cual B es más eficiente que C c) Coloque los algoritmos ordenados según el criterio de eficiencia establecido 2. Exprese la eficiencia de los algoritmos A, B, C con la notación O( ) 3. Los computadores actuales pueden realizar 100 millones de operaciones aritméticas en un segundo. Calcule cuanto tiempo tardaría este computador para resolver un problema de tamaño n=50 si el algoritmo es de tipo: a) Polinomial de tercer grado b) Exponencial c) Factorial 4. Determine la función de eficiencia T(n) del algoritmo Triangular incluido en el capítulo 1 y exprésela con la notación O( ). Suponga que es de interés conocer la cantidad total de multiplicaciones que se realizan. 5. Encuentre la cota del error relativo en la siguiente operación aritmética: T = X(Y – Z) El error de redondeo relativo de los operandos es respectivamente eX, eY, ez, y el error de redondeo relativo en el dispositivo de almacenamiento es rm a) Primero se realiza la multiplicación y luego la resta b) Primero se realiza la resta y luego la multiplicación 6. Dado el siguiente algoritmo Ingresar n Mientras n>0 repita d ← mod(n, 2) Produce el residuo entero de la división n/2 n ← fix(n/2) Asigna el cociente entero de la división n/2 Mostrar d fin a) Recorra el algoritmo con n = 73 b) Suponga que T(n) representa la cantidad de operaciones aritméticas de división que se realizan para resolver el problema de tamaño n. Encuentre T(n) y exprésela con la notación O( ) Para obtener T(n) observe el hecho de que en cada ciclo, el valor de n se reduce aproximadamente a la mitad.