Trabajo Final de Metodos Numericos PDF
Trabajo Final de Metodos Numericos PDF
Trabajo Final de Metodos Numericos PDF
1. Introducción
En estos casos son útiles las técnicas numéricas, que mediante una labor de cálculo más
o menos intensa, conducen a soluciones aproximadas que son siempre numérica. El
importante esfuerzo de cálculo que implica la mayoría de estos métodos hace que su uso
esté íntimamente ligado al empleo de computadores. De hecho, sin el desarrollo que se
ha producido en el campo de la informática resultaría difícilmente imaginable el nivel
actual de utilización de las técnicas numéricas en ámbitos cada día más diversos1
2. Errores
Los errores asociados a todo cálculo numérico tienen su origen en dos grandes factores:
Dentro del grupo de los primeros, se incluyen aquellos en los que la definición
matemática del problema es sólo una aproximación a la situación física real. Estos
errores son normalmente despreciables; por ejemplo, el que se comete al obviar los
efectos relativistas en la solución de un problema de mecánica clásica. En aquellos
casos en que estos errores no son realmente despreciables, nuestra solución será poco
precisa independientemente de la precisión empleada para encontrar las soluciones
numéricas.
Otra fuente de este tipo de errores tiene su origen en la imprecisión de los datos físicos:
constantes físicas y datos empíricos. En el caso de errores en la medida de los datos
empíricos y teniendo en cuenta su carácter generalmente aleatorio, su tratamiento
analítico es especialmente complejo pero imprescindible para contrastar el resultado
obtenido computacional-mente.
En lo que se refiere al segundo tipo de error (error computacional), tres son sus fuentes
principales:
1.
Equivocaciones en la realización de las operaciones (errores de bulto). Esta
fuente de error es bien conocida por cualquiera que haya realizado cálculos
manualmente o empleando una calculadora. El empleo de computadores ha
reducido enormemente la probabilidad de que este tipo de errores se produzcan.
Sin embargo, no es despreciable la probabilidad de que el programador cometa
uno de estos errores (calculando correctamente el resultado erróneo). Más aún,
la presencia de bugs no detectados en el compilador o en el software del sistema
no es inusual. Cuando no resulta posible verificar que la solución calculada es
razonablemente correcta, la probabilidad de que se haya cometido un error de
bulto no puede ser ignorada. Sin embargo, no es esta la fuente de error que más
nos va a preocupar.
2.
El error causado por resolver el problema no como se ha formulado, sino
mediante algún tipo de aproximación. Generalmente está causado por la
sustitución de un infinito (sumatorio o integración) o
un infinitesimal (diferenciación) por una aproximación finita. Algunos ejemplos
son:
Denominaremos a este error, en todas sus formas, como error por truncamiento,
ya que resulta de truncar un proceso infinito para obtener un proceso finito.
Obviamente, estamos interesados en estimar, o al menos acotar, este error en
cualquier procedimiento numérico.
3.
Por último, la otra fuente de error de importancia es aquella que tiene su origen
en el hecho de que los cálculos aritméticos no pueden realizarse con precisión
ilimitada. Muchos números requieren infinitos decimales para ser representados
correctamente, sin embargo, para operar con ellos es necesario redondearlos.
Incluso en el caso en que un número pueda representarse exactamente, algunas
operaciones aritméticas pueden dar lugar a la aparición de errores (las divisiones
pueden producir números que deben ser redondeados y las multiplicaciones dar
lugar a más dígitos de los que se pueden almacenar). El error que se introduce al
redondear un número se denomina error de redondeo.
2.1 Definiciones
Ahora que disponemos de una idea correcta de qué es el error y de cual es su origen,
podemos formalizar el concepto de error. Generalmente, no conocemos el valor de una
cierta magnitud y hemos de conformarnos con un valor aproximado x. Para estimar
la magnitud de este error necesitamos dos definiciones básicas:
Error absoluto
de x:
(1)
Error relativo
de x:
(2)
(3)
o bien: (5)
De acuerdo con este formalismo, tenemos que un numero se representará del siguiente
modo:
= (6)
= (7)
(8)
x(4) = 35.4785
x(3) = 35.478
y no la siguiente:
x(3) = 35.479
=
Es decir, no es correcto redondear por exceso cuando el dígito anterior es 5 y proviene
de un acarreo previo.
(9)
Solución:
x(4) = 35.4784
x(3) = 35.478
Para estudiar como se propaga en error, veamos cual es el efecto que cada una de las
operaciones básicas tiene sobre el error final cuando se aplican sobre dos
números y :
= (10)
= (11)
= (12)
= (13)
(14)
En el caso más general, en que una función depende de más de una variable
(15)
(16)
Una forma mucho más adecuada de resolver este problema consiste en sustituir en la
expresión (16) los valores de b y d por sus correspondientes expresiones en función
de a. Sustituyendo y operando, obtenemos que el producto y el error asociado vienen
dados por:
Si ambos resultados son correctos ¿Por qué el error es mucho menor en el segundo caso
que en el primero? La respuesta es simple: en el segundo caso hemos eliminado
operaciones intermedias, permitiendo que algunos errores se cancelen mutuamente. En
general, cuanto menor sea el número de pasos intermedios que efectuemos para alcanzar
la solución, menor será el error cometido.
¿Con qué exactitud es necesario medir el radio de una esfera para que su
volumen sea conocido con un error relativo menor de 0.01%? ¿Cuantos
decimales es necesario emplear para el valor de ?
El objeto del cálculo de las raíces de una ecuación es determinar los valores de x para
los que se cumple:
f(x) = 0 (28)
La determinación de las raíces de una ecuación es uno de los problemas más antiguos en
matemáticas y se han realizado un gran número de esfuerzos en este sentido. Su
importancia radica en que si podemos determinar las raíces de una ecuación también
podemos determinar máximos y mínimos, valores propios de matrices, resolver
sistemas de ecuaciones lineales y diferenciales, etc...
Existen una serie de reglas que pueden ayudar a determinar las raíces de una ecuación:
El teorema de Bolzano, que establece que si una función continua, f(x), toma en
los extremos del intervalo [a,b] valores de signo opuesto, entonces la función
admite, al menos, una raíz en dicho intervalo.
En el caso en que f(x) sea una función algebraica (polinómica) de grado n y
coeficientes reales, podemos afirmar que tendrá n raíces reales o complejas.
La propiedad más importante que verifican las raíces racionales de una ecuación
algebraica establece que si p/q es una raíz racional de la ecuación de coeficientes
enteros:
3x3 + 3x2 - x - 1 = 0
y3 + 3y2 -3y -9 = 0
La mayoría de los métodos utilizados para el cálculo de las raíces de una ecuación son
iterativos y se basan en modelos de aproximaciones sucesivas. Estos métodos trabajan
del siguiente modo: a partir de una primera aproximación al valor de la raíz,
determinamos una aproximación mejor aplicando una determinada regla de cálculo y así
sucesivamente hasta que se determine el valor de la raíz con el grado de aproximación
deseado.
[scale=0.9]eps/as-1
Sin embargo, el método puede divergir fácilmente. Es fácil comprobar que el método
sólo podrá converger si la derivada g'(x) es menor en valor absoluto que la unidad (que
es la pendiente de la recta definida por y=x). Un ejemplo de este caso se muestra en la
figura (5). Esta condición, que a priori puede considerarse una severa restricción del
método, puede obviarse fácilmente. Para ello basta elegir la función g(x) del siguiente
modo:
de forma que tomando un valor de adecuado, siempre podemos hacer que g(x)
cumpla la condición de la derivada.
(29)
en donde h=r-x. Si x está próximo a r (es decir hes pequeña), es razonable ignorar el
término O(h2):
0 = f(x) + hf'(x) (31)
(32)
A partir de la ecuación (32) y teniendo en cuenta que r=x+h es fácil derivar la ecuación
(29).
[scale=0.9]eps/new-1
El método de la secante parte de dos puntos (y no sólo uno como el método de Newton)
y estima la tangente (es decir, la pendiente de la recta) por una aproximación de acuerdo
con la expresión:
(34)
(35)
[scale=0.9]eps/secante
La elección guiada del intervalo representa una ventaja respecto al método de la secante
ya que inhibe la posibilidad de una divergencia del método. Por otra parte y respecto al
método de la bisección, mejora notablemente la elección del intervalo (ya que no se
limita a partir el intervalo por la mitad).
Figure: Modificación del método de la
falsa posición propuesta por Hamming. La
aproximación a la raíz se toma a partir del
punto de intersección con el eje X de la
recta que une los puntos ( x0,f(x0)/2) y
(x1,f(x1)) si la función es convexa en el
intervalo (figura a) o bien a partir de la
recta que une los puntos (x0,f(x0)) y
(x1, f(x1)/2) si la función es cóncava en el
intervalo (figura b).
[scale=0.9]eps/hamming
Sin embargo, el método de la falsa posición tiene una convergencia muy lenta hacia la
solución. Efectivamente, una vez iniciado el proceso iterativo, uno de los extremos del
intervalo tiende a no modificarse (ver figura (9)). Para obviar este problema, se ha
propuesto una modificación del método, denominada método de Hamming. Según este
método, la aproximación a una raíz se encuentra a partir de la determinación del punto
de intersección con el eje X de la recta que une los puntos ( x0,f(x0)/2) y (x1,f(x1)) si la
función es convexa en el intervalo o bien a partir de la recta que une los puntos (x0,f(x0))
y (x1, f(x1)/2) si la función es cóncava en el intervalo. En la figura (10) se representa
gráficamente el método de Hamming.
(42)
Se trata de un sistema de n ecuaciones con n incógnitas, x1, x2, ..., xn. Los
elementos aij y bi son números reales fijados.
(43)
Ax=b (44)
4.1.1 La factorización LU
A = LU (51)
LUx=b (52)
Lz=b (53)
Ux = z
El análisis anterior nos muestra lo fácil que es resolver estos dos sistemas de
ecuaciones triangulares y lo útil que resultaría disponer de un método que nos
permitiera llevar a cabo la factorización A=LU. Si disponemos de una
matriz A de , estamos interesados en encontrar aquellas matrices:
(54)
En donde nos hemos valido del hecho de que lis=0 para s >i y usj=0 para s>j.
En este proceso, cada paso determina una nueva fila de U y una nueva
columna de L. En el paso k, podemos suponer que ya se calcularon las
(55)
Si especificamos un valor para lkk (o para ukk), a partir de la ecuación (55) es
posible determinar un valor para el otro término. Conocidas ukk y lkk y a partir
de la ecuación (54) podemos escribir las expresiones para lak-ésima fila (i=k)
y para la k-ésima columna (j=k), respectivamente:
(56)
(57)
A = LU = UTLT
y cumple que
IA = A
Qx(k) = -Rx(k-1) + b
(66)
Qx(k) = -Rx(k-1) + b
x x0 x1 x2 xn
y y0 y1 y2 yn
El objetivo es encontrar una función continua lo más sencilla posible tal que
f(xi) = yi (67)
(69)
x 5 -7 -6 0
(i)
(ii)
Los splines de grado 0 son funciones constantes por zonas. Una forma
explícita de presentar un spline de grado 0 es la siguiente:
[scale=1.0]eps/spline-1
6. Integración numérica
Dada una función f definida sobre un intervalo [a,b], estamos interesados en
calcular
(74)
Una estrategia muy útil para calcular el valor numérico de la integral dada por
la ecuación (74) consiste en reemplazar fpor otra función g, fácil de integrar,
que aproxima a f de forma adecuada. Si , se deduce que
Supongamos que deseamos calcular la integral (74). Podemos elegir una serie
de nudos, en el intervalo [a,b] e iniciar un proceso de
interpolación de Lagrange (ver apartado 7.1 para una descripción de los
polinomios de interpolación de Lagrange). El polinomio de grado menor o
igual a n que interpola a f en los nudos es:
(75)
(76)
en donde
por lo que:
(77)
en donde
h = (b-a)/n
(78)