Sunteți pe pagina 1din 62

lOMoARcPSD|2722049

Notas Calculo Numerico 1

Cálculo Numérico (Universidad Autónoma de Madrid)

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Laura Black (paulalourido1@gmail.com)
lOMoARcPSD|2722049

Cálculo Numérico I

Introducción. Números y operaciones numéricas


La mayor parte de las funciones que aparecen en matemáticas son
difı́cilmente evaluables. No solamente aquellas que aparecen como
soluciones de algunos problemas y no pueden expresarse algebraica-
mente en términos de funciones elementales, sino que estas mis-
mas funciones elementales —incluyendo entre ellas las funciones
trigonométricas, la exponencial, y sus inversas— son difı́ciles de
evaluar. Recordemos que sus valores se obtienen comúnmente de
tablas ya calculadas o por medio de máquinas calculadoras. Para
calcular estas tablas, para programar estas calculadoras, para esti-
mar valores numéricos relacionados con aquellas funciones, nece-
sitamos técnicas que nos permitan, a partir de la definición de
la función, aproximarnos al valor real que queremos estimar con-
trolando en todo momento la magnitud del error que estamos come-
tiendo. Estas técnicas, reglas, métodos, junto con su justificación
teórica, y por tanto control de su error, es lo que constituye el
cálculo numérico.
Desde la aparición de las calculadoras electrónicas —incluyendo
entre ellas los ordenadores, grandes y pequeños— el panorama del
cálculo numérico ha cambiado enormemente. Ya no se trata de
buscar métodos y reglas que en unas pocas operaciones nos faciliten
el valor buscado; ya no tiene tanta importancia el número de ope-
raciones necesario para realizar un cálculo, es más importante la
estabilidad de ese cálculo a pesar del gran número de operaciones,
el control del error que produce la aritmética del ordenador.
No significa esto que no haya problemas en los cuales sea necesario

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

buscar métodos que limiten el número de operaciones. Son por lo


general problemas que antes de la aparición del ordenador eran to-
talmente inabordables debido a su magnitud pero que con la nueva
tecnologı́a son fácilmente programables. Estamos pensando en par-
ticular en los problemas de inversión de matrices y resolución de
sistemas lineales de gran tamaño, aunque no sea este el único caso.

1 Sistemas de numeración

Las reglas aritméticas que hemos aprendido en la escuela están


basadas en el sistema numérico de base diez (sistema decimal).
Hemos aprendido de memoria unas tablas que contienen la suma y
el producto de los diez primeros números naturales (que utilizamos
como dı́gitos) y a partir de ellas sabemos como operar con números
de cualquier magnitud siempre que estén expresados en términos
de estos diez dı́gitos. La expresión de cualquier número natural N
en términos de estos diez dı́gitos viene dada por la concatenación
de los restos que resultan de dividir por diez el número N y sus
sucesivos cocientes. Es decir, la primera cifra —que situamos a la
derecha— es el resto R1 de dividir N entre diez, con cociente N1 ;
la segunda cifra —que situamos inmediatamente a la izquierda de
aquella— es el resto R2 de dividir N1 entre diez, con cociente N2 ;
iteramos este proceso hasta que obtenemos un último resto Rk —
que situamos inmediatamente a la izquierda de la concatenación
de restos obtenidos hasta el momento— al obtener por cociente
cero. Ası́ la expresión decimal del número N es la concatenación
de restos Rk Rk−1 . . . R2 R1 todos ellos números entre cero y nueve
que representamos usualmente por las cifras 0, 1, . . . , 9.
Esta es la representación numérica que todos conocemos desde nues-
tra más tierna infancia descrita en términos un tanto sofisticados
con el fin de observar la arbitrariedad contenida en la elección del
número diez en este proceso —arbitrariedad seguramente debida
al hecho de ser éste el número total de dedos, lo que nos per-
mite utilizar las manos como un ábaco natural. Una vez obser-
vada esta arbitrariedad nada nos impide cambiar los términos y
jugar a reconstruir nuestra aritmética elemental en una base dis-
tinta. Puede ser ésta cualquier número positivo b mayor que uno.
Necesitaremos para esta aritmética un número b de cifras que repre-
senten los b primeros números naturales incluido el cero. El proceso

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

será análogo al descrito más arriba para b =diez y tendremos que


construir las correspondientes tablas de operaciones para estos b
primeros números.
Estudiemos por un momento qué sucede en base ocho. Usaremos
los ocho primeros dı́gitos con su significado habitual: 0, 1, 2, 3,
4, 5, 6, y 7. El número natural siguiente, ocho, se representará
como 10, que significa, expresado en base diez, 1 · 81 + 0 · 80 . Los
números siguientes serán 11, 12, etc., hasta llegar al número 17,
cuyo siguiente es el 20.
Ejemplo. Dado el número 341(10 ¿cuál será su expresión en base
ocho? Calculamos —operando en base diez, que es en la que esta-
mos entrenados a operar— los restos de dividir este número y los
sucesivos cocientes por ocho: 341(10 = 42 · 8 + 5; 42 = 5 · 8 + 2;
5 = 0 · 8 + 5; por tanto 341 = 5 · 82 + 2 · 81 + 5 · 80 = 525(8 .
Ejemplo. Dado el número 1202(8 hallar su expresión en base diez.
Simplemente tenemos que escribir en base diez el significado de su
expresión en base ocho y operar: 1202(8 = 2 + 0 · 8 + 2 · 82 + 1 · 83 =
642(10 .
La base más sencilla de todas —aparte de la base uno que es la
que utiliza la representación por medio de palotes— es la base dos
que solamente utiliza dos cifras: 0, 1; y a la que se puede dar
por tanto cualquier significado dicotómico: si–no; abierto–cerrado;
encendido–apagado. Esto hace que la base dos sea la adecuada para
las operaciones internas de cualquier operador electrónico o incluso
mecánico.
Todo número se representa en base dos simplemente señalando con
un 1 qué potencias de dos aparecen en su representación (y con un
0 las que no aparecen): 1001011101(2 significa, expresado en base
diez 20 + 22 + 23 + 24 + 26 + 29 .
Existe un juego bastante conocido que consiste en adivinar un
número a partir de seleccionar de entre una serie de tarjetas con
listas de números, aquellas en las que el número en cuestión se en-
cuentra. La solución se halla sumando los primeros números que
aparecen en estas tarjetas seleccionadas, que son las potencias en
base dos contenidas en el número dado, es decir los unos del desa-
rrollo en base dos.
Algunas botellas de bebidas señalan el mes y el dı́a de llenado de

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

la botella por medio de marcas en la serie de números 1, 2, 4, 8,


16, y 1, 2, 4, 8. Es particularmente interesante la forma de indicar
el dı́a del mes ya que con estos números se cubren exactamente los
31 dı́as posibles.
Ejercicio. Escribir en base dos los números en base diez siguien-
tes: 521, 473, 1024. Escribir en base diez los números 1000101(2 ,
121212(3 , 54321(6 .
Otras bases especialmente importantes aparte de dos y diez son las
bases ocho y dieciseis, que por ser potencias de dos tienen una tra-
ducción especialmente fácil de unas a otras, siendo las expresiones
de cualquier numero más cortas cuanto mayor es la base que se uti-
liza. Para convertir un número de base dos a base ocho o dieciseis
o viceversa basta tener una tabla de los dı́gitos de éstas últimas en
base dos:

Base 8 Base 16
000 0 0000 0 1000 8
001 1 0001 1 1001 9
010 2 0010 2 1010 A
011 3 0011 3 1011 B
100 4 0100 4 1100 C
101 5 0101 5 1101 D
110 6 0110 6 1110 E
111 7 0111 7 1111 F

Cualquier número en base dos —100010001110101101— se trans-


forma a base ocho o a base dieciseis separando desde la derecha
bloques de tres o cuatro dı́gitos respectivamente, y sustituyéndolos
por el dı́gito en la base correspondiente:

100 010 001 110 101 101(2 = 421655(8

10 0010 0011 1010 1101(2 = 223AD(16

Los números en bases dos, ocho, diez, y dieciseis se denominan bina-


rios, octales, decimales, y hexagesimales respectivamente. Muchas
calculadoras digitales están preparadas para operar en cualquiera
de estas bases.
Hasta ahora hemos hablado de la representación de números en-
teros. Para representar números fraccionarios podemos utilizar en

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

cualquier base métodos análogos a los utilizados en base diez. ¿Qué


significa la expresión decimal 31′ 27? Expresado en fracciones quiere
2
decir 31 + 10 + 1072 . Esta idea para representar la parte fraccionaria
de un número puede utilizarse en cualquier base b: la parte frac-
cionaria de un número se expresa como suma de fracciones cuyos
numeradores son enteros entre 0 y b − 1 y cuyos denominadores son
las potencias de b.
Ejemplo. 0′ 13265(8 = 1·8−1 + 3·8−2 + 2·8−3 + 6·8−4 + 5·8−6 .
Sabido esto, ¿como representaremos un número fraccionario x en
una base dada b? Supongamos que a1 , a2 , a3 , . . . son las cifras del
desarrollo: x = 0′ a1 a2 a3 · · · = a1 ·b−1 + a2 ·b−2 + a3 ·b−3 + . . . . Ob-
servemos que b·x = a1 + a2 ·b−1 + a3 ·b−3 + . . . y, por tanto, a1 es la
parte entera de b·x; b(b·x − a1 ) = a2 + a3 ·b−1 + . . . , de forma que
a2 es la parte entera de b(b·x − a1 ), etc.
Ejemplo. Expresar en base 3 el número 0′ 31(10 .

0’31 x 3 = 0’93 su parte entera es 0


0’93 x 3 = 2’79 —”— 2
0’79 x 3 = 2’37 —”— 2
0’37 x 3 = 1’11 —”— 1
0’11 x 3 = 0’33 —”— 0
0’33 x 3 = 0’99 —”— 0
etc.

Obtenemos 0′ 31(10 = 0′ 022100 . . .(3 . ¿Hasta cuándo debemos con-


tinuar el cálculo? Dado que el número cuyo desarrollo fraccionario
estamos calculando es racional, las cifras deben repetirse de forma
periódica a partir de algún lugar. Esto ocurrirá en cuanto la parte
fraccionaria en base 10, que siempre tiene el mismo número de cifras
—en nuestro ejemplo 2—, se repita por primera vez; a partir de este
punto todos los cálculos se repiten.

2 Representación de números en el ordenador

Al calcular numéricamente con una máquina debemos considerar


principalmente dos tipos de números: enteros y de coma flotante
(en inglés,floating point). Por medio de los segundos tratamos de

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

reproducir en el ordenador los números reales. Sin embargo sola-


mente utilizamos un cantidad finita de números racionales con una
aritmética particular. La idea es la siguiente.
Todo número real x, expresado en base diez, se escribe de la forma


!
X
x=σ· xk 10−k · 10N
k=1

donde σ es el signo, N es un exponente entero y los xk son los


dı́gitos 0, 1, . . . , 9 de su desarrollo decimal, con la única restricción
x1 6= 0.
Por ejemplo, π = (+1) · (3 · 10−1 + 1 · 10−2 + 4 · 10−3 + · · · ) · 101 .
La representación de coma flotante consiste en truncar (o redondear)
la expresión anterior limitando la suma hasta un número fijo de
sumandos t.

t
!
X
FLO(x) = σ · xk · 10−k · 10N = σ · x̄ · 10N
k=1
FLO

El número x̄ recibe el nombre de mantisa de FLO(x). En la repre- mantisa


sentación de coma flotante tenemos dos restricciones: la longitud t
de la mantisa y el tamaño del exponente N : −N0 ≤ N ≤ N1 , con
N0 y N1 enteros positivos (que suelen ser iguales o diferir en una
unidad).
Es importante conocer como funciona la aritmética con coma flo-
tante. Curiosamente, no se verifica una propiedad elemental de
la aritmética de números reales: la propiedad asociativa, según la
cual, por ejemplo, x(yz) = (xy)z lo que nos permite escribir sin
ambigüedad xyz. La razón es que el resultado de una multiplicación
de números con coma flotante es otro número con coma flotante
que se obtiene por medio de un redondeo o de una truncación.
Veamos un ejemplo, supongamos que utilizamos representación en
coma flotante con una mantisa de longitud 2 y queremos hallar el
producto de los tres números 0’24; 0’31; y 0’93. El producto 0′ 24 ·
0′ 31 resulta 0′ 074 que multiplicado por 0′ 93 da 0′ 069; el producto
0′ 31 · 0′ 93 resulta 0′ 29, que multiplicado por 0′ 24 da 0′ 068.
Al calcular con coma flotante hay que tener en cuenta dos errores

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

importantes que pueden producirse. El primero de ellos es el de


llegar a un exponente por encima de N1 , se produce entonces un
error que la máquina detecta inmediatamente y que anuncia como
overflow . El segundo es el de bajar del exponente −N0 ; en este caso overflow
la máquina puede no anunciar el error y poner en la variable corres-
pondiente el valor cero (el error aparecerá si, por ejemplo, tratamos
de dividir por esa cantidad. Sabido lo anterior es fácil experimentar
con nuestra máquina (por ejemplo, con nuestra calculadora) para
determinar los valores de N0 y N1 . Este tipo de error se conoce con
el nombre de underflow . underflow

En el entorno Matlab que vamos a utilizar existe una constante


llamada eps que es el mayor número que sumado a 1 no produce
efecto alguno.

3 Error

En todo cálculo numérico debemos esperar un error: los métodos


que utilizamos en nuestros cálculos son generalmente aproximados;
los datos de partida proceden de medidas de precisión limitada; las
operaciones a que sometemos estos datos producen valores interme-
dios cuyo número de cifras debe reducirse; los valores numéricos que
tratamos de calcular son generalmente reales y por tanto raramente
expresable en términos finitos; etc. No debe por tanto preocuparnos
el que en nuestros cálculos acarreemos un cierto error sino el con-
trolar en todo momento ese error y mantenerlo por debajo de un
extremo prefijado.
Llamaremos error de un resultado xa a la diferencia entre éste y el
valor x que tratamos de determinar. Más concretamente

E(xa ) = xa − x.

Con esta definición del error en xa estamos además estableciendo


un signo en éste, criterio que mantendremos en el resto de estas
notas.
El error E que acabamos de definir es el que llamaremos error abso-
luto. Más importante a la hora de determinar la validez de nuestros error absoluto
cálculos es el error relativo: error relativo

E(xa ) xa − x
Er (xa ) = =
x x

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

que está definido siempre que x 6= 0.


El error en un cálculo nunca podrá determinarse con exactitud (ello
equivaldrı́a a poder determinar el valor exacto de x) simplemente
se acotará.
Una forma de referirse al error relativo en un sistema de numeración
de base b es por medio del número de cifras significativas en un cifras significativas
resultado. Diremos que xa contiene n cifras significativas de x si la
diferencia entre las mantisas de xa y x es menor de b/2 unidades en
su cifra m+1. Con esta definición la expresión n cifras significativas
pudiera en algún caso querer decir algo ligeramente distinto de lo
que coloquialmente pudiera entenderse. (Ejemplo: 3’1416 tiene 5
cifras significativas del número π = 3′ 14159 . . . .)

4 Procedencia del error

El error en un cálculo puede proceder de diversas causas. 1. Equivocaciones.

Hemos de señalar en primer lugar el error de cálculo, es decir el 2. Desviación del modelo con la
realidad.
error que comete el calculista por equivocación. Incluimos aquı́ los
errores de programación. La forma de evitar este tipo de error es la 3. Errores de observación en los
datos numéricos.
verificación de los cálculos y la comprobación de los programas. El
verificar un programa completo puede resultar una tarea compleja 4. Errores debidos al funciona-
miento de la máquina.
y poco agradable. Tal vez la mejor estrategia sea la de dividir el
programa en partes (subrutinas) y comprobar separadamente cada 5. Errores intrı́nsecos de los mé-
todos numéricos.
una de ellas experimentalmente con datos sencillos de los que es
fácil deducir el resultado esperado.
Al resolver problemas fı́sicos suelen darse dos tipos de errores.
Primeramente aquellos que proceden de la medición de los datos.
Los sistemas de medida nunca pueden ser exactos —en realidad,
según nuestros modelos, tratamos las más de las veces de medir
algo que consideramos un número real— y por tanto ya tendremos
una ı́nfima desviación de partida. En segundo lugar debemos tener
en cuenta que el modelo fı́sico que utilizamos —las ecuaciones que
modelan el experimento— suele obtenerse a través de aproxima-
ciones que simplifican las propiedades fı́sicas —linealización, ...—
y que por tanto producirán desviaciones respecto de la realidad.
Tanto unas como otras desviaciones no serán objeto de estudio por
parte del Cálculo Numérico sino que de ellas se ocupa el estudio
de la estabilidad del modelo —ecuaciones diferenciales, álgebra li-

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

neal. . . .
También debemos considerar los errores debidos al funcionamiento
de la máquina, entre los que debemos destacar los errores de re-
dondeo, la pérdida de significación, el ruido al evaluar una función,
y los llamados overflow y underflow.
De los errores de redondeo y del overflow y underflow ya hemos
hablado más arriba. En cuanto a los errores debidos a la pérdida
de significación en el número de dı́gitos, suelen aparecer al restar pérdida de significación
dos cantidades muy próximas. Supongamos que queremos evaluar
la función

√ √
f (x) = x[ x + 1 − x]

y lo hacemos utilizando una aritmética de seis dı́gitos. Obtenemos


los siguientes resultados, donde f¯ es el valor calculado directamente
con la expresión dada de f .

x f¯(x) f (x)
1 0’41421 0’414121
10 1’5434 1’5434
100 4’99
1000 15’8
10 000 50
100 000 100 158’114
1 000 000 0 499’999

El error procede √ de la diferencia


√ de los dos valores relativamente
muy próximos x + 1 y x entre los que coinciden cada vez más
cifras de las seis utilizadas en los cálculos.
Una forma de evitar el error es la de utilizar un número mayor
de dı́gitos en los cálculos. Otra forma es la de evitar la diferencia
señalada por medio de una expresión equivalente de la función, por
ejemplo

x
f (x) = √ √
x+1+ x

Ejercicio. Halla una expresión equivalente a

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

1 − cos x
x2
que evite la diferencia entre dos números próximos que aparece en
el numerador cuando x está próximo a cero.
Por ruido al evaluar una función nos referimos a la indetermi- ruido al evaluar una función
nación que puede aparecer en los valores de una función cuando
se trata de analizar experimentalmente una propiedad cualitativa.
Por ejemplo, si tratamos de ver donde está el cero del polinomio
P (x) = x3 − 3x2 + 3x − 1 dando valores y utilizamos aritmética de
seis dı́gitos

P (0′ 999) = 0, P (1′ 001) = 0

Incluso, con aritmética de siete dı́gitos

P (0′ 9998) = 0′ 0000001 > 0

cuando en realidad P (0′ 9998) < 0.


Supongamos que queremos evaluar una función f , derivable, con error al evaluar una función
derivada continua, en un punto x y que para ello disponemos de una
aproximación x̃ de forma que lo que calcularemos es f (x̃). ¿Cuál
es el error? Para evaluarlo podemos utilizar el teorema del punto
medio (o, lo que viene a ser lo mismo, la definición de derivada),

|f (x̃) − f (x)| ≈ f ′ (x̃)|x̃ − x|.

Es decir, el error se multiplica por el valor de la derivada de f (que


será aproximadamente la misma en x que en x̃.
Al sumar un número grande de términos los errores de redondeo se sumas
acumulan. Veamos como proceder para conseguir que este error de
redondeo sea lo menor posible. Queremos hallar S = a1 + a2 + · · · +
an donde cada ai es un FLO. Al realizar la suma debemos operar
n − 1 veces:

10

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Introducción

S2 = FLO(a1 + a2 ) = (a1 + a2 )(1 + ε2 )


S3 = FLO(S2 + a3 ) = (S2 + a3 )(1 + ε3 )
... ... ... ... ... ...
Sn = FLO(Sn−1 + an ) = (Sn−1 + an )(1 + εn )

donde los εi son los errores relativos de redondeo.


Si S es la verdadera suma de a1 + a2 + · · · + an entonces

Sn − S = Sn − (a1 + · · · + an )
= Sn−1 (1 + εn ) + an εn − (a1 + · · · + an−1 )
= ...
= a1 (ε2 + · · · + εn ) + a2 (ε2 + · · · + εn )
+ · · · + an−1 (εn−1 + εn ) + an εn .

Para que este término sea lo menor posible, la mejor estrategia es


la de escribir a1 + a2 + · · · + an en orden creciente de los |an |, es
decir sumar de menor a mayor.
Debemos mencionar finalmente los errores debidos a los métodos
numéricos utilizados. Lo que calculan no es en general lo que se
quiere calcular y por tanto el mismo método numérico debe hacer
un estudio de cuál es el error que lleva asociado. Este estudio es
parte fundamental de las técnicas analizadas en el presente curso.

11

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Notas Calculo Numerico 2

Cálculo Numérico (Universidad Autónoma de Madrid)

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Laura Black (paulalourido1@gmail.com)
lOMoARcPSD|2722049

Cálculo Numérico I

Cálculo de ceros de funciones


El objetivo de la presente sección es el de resolver la ecuación
f (x) = 0, siendo f una función continua, con una precisión pre-
fijada. Generalmente esta precisión se medirá por medio del error
relativo en el valor obtenido.

5 Teorema de la aplicación contractiva


El problema de hallar la solución de la ecuación f (x) = 0 puede
transformarse en el de hallar la solución de una ecuación de la
forma F (x) = x. Esta última ecuación se obtendrá transformando
de alguna manera la ecuación original, por ejemplo f (x) + x = x
o más generalmente k(x)f (x) + x = x para una función arbitraria
k. Una buena elección de la función k(x) podrı́a garantizar la exis-
tencia del punto fijo buscado y a la vez proporcionar un método de
aproximación a la solución.
Las condiciones suficientes se explicitan en el siguiente teorema.

Teorema 1 (Teorema de la Aplicación Contractiva). Sea E =


[a, b] un intervalo cerrado de R y sea F una aplicación de E con
valores en E que verifica la siguiente propiedad: existe c, 0 < c < 1
tal que para cualesquiera x, y de E se tiene que

|F (x) − F (y)| ≤ c |x − y|. (5.1)

Entonces existe un único punto x̄ de E tal que F (x̄) = x̄.

Demostración. Sea x0 un punto cualquiera de E. Se define la


sucesión (xn ) por medio de la ley de recurrencia xn+1 = F (xn ).
Obsérvese que

|xn , xn+1 | ≤ c·|xn−1 − xn | ≤ · · · ≤ cn ·|x0 − x1 |

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Cálculo de ceros de funciones

y que por tanto


k
X
|xn+k − xn | ≤ |xn+j − xn+j−1 |
j=1
k
X
≤ |x1 − x0 | cn+j−1
j=1
n−1
≤ |x1 − x0 |c
Tomando n suficientemente avanzado |xn+k −xn | se hará arbitraria-
mente pequeño independientemente de k, y por tanto la sucesión
(xn ) será de Cauchy. Sea x̄ su lı́mite, dado que E es compacto,
x̄ ∈ E. Se tiene en primer lugar que, por continuidad de F —la
condición F continua es consecuencia de (5.1)—, x̄ es punto fijo de
F . En segundo lugar, por la contractividad (5.1) de la función, este
punto fijo será único.

6 Métodos iterativos
La demostración del teorema anterior sugiere que para calcular
aproximadamente el valor del punto fijo de la aplicación F puede
recurrirse al siguiente proceso. Se parte de un punto cualquiera
x0 de E e iterativamente se van calculando los términos xn de la
sucesión por medio de la regla xn = F (xn−1 ). Tras cada cálculo se
estima si la aproximación que xn proporciona de x̄ es suficiente; en
caso afirmativo se detiene el proceso; en caso negativo se prosigue.
Si la función F está definida sobre un intervalo [a, b ] con valores en
[a, b ] y además tiene derivada que verifica |F ′ | ≤ c < 1 entonces es
contractiva en [a, b ]. Si además F ′ es continua entonces el error en
xn+1 puede estimarse por medio de
(xn − xn+1 )2
.
xn+1 − 2xn − xn−1
Este resultado es consecuencia de la siguiente proposición (véase
también la Sección 9 en la página 6).
Proposición 2. Sea F : [a, b] → [a, b] ∈ C 1 tal que |F ′ | ≤ c < 1.
Si x0 ∈ [a, b] y la sucesión (xn ) está definida por xn+1 = F (xn )
entonces se tiene que
x̄ − xn+1 xn+1 − xn
lim = lim = F ′ (x̄).
n x̄ − xn n xn − xn−1

donde x̄ es el limite de la sucesión (xn )

Demostración. Que x̄ existe y pertenece a [a, b ] está garantizado


por el teorema de la aplicación contractiva. El teorema del valor
medio implica que
xn+1 − x̄ = F ′ (ξn )(xn − x̄), ξn ∈ I(xn , x̄) (6.2)

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Cálculo de ceros de funciones

donde I(xn , x̄) representa el intervalo abierto con extremos xn y x̄.


Se tiene por tanto que
xn+1 − x̄
lim = F ′ (x̄).
n xn − x̄
Por otra parte

xn+1 − xn (xn+1 − x̄) − (xn − x̄) (F ′ (ξn ) − 1)(xn − x̄)


= =
xn − xn−1 (xn − x̄) − (xn−1 − x̄) (xn − x̄) − Fx̄′ (ξn n−1
−x̄
)

donde en la última igualdad se ha utilizado dos veces (6.2) para


valores de n consecutivos. Se obtiene entonces que

xn+1 − xn F ′ (ξn ) − 1 ′
lim = lim ′ F (ξn−1 ) = F ′ (x̄).
n xn − xn−1 n F (ξn−1 ) − 1

7 El método de Newton
Como ya se ha explicado más arriba, el problema de hallar la
solución de la ecuación f (x) = 0 en un intervalo [a, b] puede trans-
formarse en el de hallar el único punto fijo de una aplicación con-
tractiva F . Esta función F puede elegirse de distintas formas.
Suponiendo que nuestra función de partida f es derivable, una
condición suficiente para que la aplicación F sea contractiva en
el intervalo [a, b] es que |F ′ | ≤ c < 1 en el mismo intervalo. Si
elegimos
F (x) = x + k(x)f (x)
como se ha sugerido más arriba y tratamos que |F ′ (x)| sea lo menor
posible en un intervalo de x̄, una posible elección serı́a aquella que
anulara |F ′ | en el punto x̄. Dado que f (x̄) = 0 se tiene que F ′ (x̄) =
1 + k(x̄)f ′ (x̄). Eligiendo k(x) = − f ′1(x) se verifica esta condición.
Se tendrá entonces F (x) = x − ff′(x)(x)
, que por continuidad será
una aplicación contractiva en un intervalo que contiene a x̄. El
método de Newton consiste en comenzar con un valor x1 próximo
a la solución (una solución aproximada) y mejorar su aproximación
por medio de

f (xn )
xn+1 = xn − , n = 1, 2, . . .
f ′ (xn )
el proceso se para cuando, para nuestros propósitos, no podamos
distinguir la diferencia entre dos valores xn consecutivos.
Ejemplo 7.1. Resuelve la ecuación x2 −x−1 = 0. Tiene una solución
en el intervalo [1, 2]. La función de iteración será

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Cálculo de ceros de funciones

x2 − x − 1 x2 + 1
F (x) = x − = .
2x − 1 2x − 1
Comenzamos la iteración con x1 = 1′ 5. Obtenemos

1 1’500000
2 1’625000
3 1’618056
4 1’618034
5 1’618034

Ejemplo 7.2. Cálculo del inverso de un número (o como construir


una máquina de dividir utilizando solamente sumas y productos).
Dado a > 0 queremos hallar 1/a. Resolvemos x = 1/a, equivalente
a a − 1/x = 0. Aplicamos la regla de Newton a esta ecuación
xn+1 = xn (2 − axn ). Hagamos el cálculo para a = 7, comenzamos
en x0 = 0′ 1

0 0’1
1 0’13
2 0’1417
3 0’14284777
4 0’1428571422
5 0’14285714285714

Si observamos el número de dı́gitos que se estabiliza en cada paso


vemos que aproximadamente se dobla, lo que significa —si pen-
samos que los dı́gitos estabilizados son correctos— que el error en
cada paso es el cuadrado del error en el paso anterior. Veremos a
continuación que este es el comportamiento esperado.
orden de convergencia
Definición 1. Una sucesión (xn ) converge a x̄ con orden p si
limn xn = x̄ y además p > 0 es el mayor número real para el que
existe un número K > 0 tal que ∀n ≥ 1, |xn+1 − x̄| ≤ K|xn − x̄|p

Si el cero de f es simple entonces el método de Newton tiene orden


de convergencia al menos dos (convergencia cuadrática). En efecto,
dado que f (x̄) = 0, y f ′ (x̄) 6= 0, se obtiene que

f ′ (x)2 − f ′′ (x)f (x)


F ′ (x) = 1 − y entonces F ′ (x̄) = 0,
f ′ (x)2

por tanto

1
|xn+1 − x̄| = |F (xn ) − F (x̄)| = |F ′ (x̄)||xn − x̄| + |F ′′ (ξ)||xn − x̄|2
2

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Cálculo de ceros de funciones

de forma que si xn y xn+1 están dentro de I, intervalo de conver-


gencia del método,

 
2 1 ′′
|xn+1 − x̄| ≤ K|xn − x̄| donde K = sup |F (x)| |x ∈ I .
2

Esta propiedad explica el comportamiento de los iterados observado


en los ejemplos anteriores.
Interpretación geométrica. El método descrito tiene una fácil
interpretación geométrica, por la cual recibe también el nombre de
método de la tangente. Si representamos gráficamente la función método de la tangente
f , el problema que queremos resolver es el de hallar la intersección
(o al menos una de ellas) de la gráfica con el eje x. Sea x0 una
aproximación de la solución. Para buscar una aproximación mejor
hallamos el valor f (x0 ) y trazamos la recta tangente a la gráfica
y = f (x) en el punto (x0 , f (x0 )). En vez de tomar como solución la
intersección de la gráfica con el eje x, tomamos como nueva apro-
ximación x1 a la solución la intersección de la recta tangente con el
eje x. Un sencillo cálculo produce

f (x0 )
x1 = x0 − ,
f ′ (x0 )

es decir, la misma fórmula obtenida anteriormente.

8 El método de la secante
Una vez vista la interpretación geométrica del método de Newton
podemos plantearnos el utilizar un método geométricamente pare-
cido en el cual en vez de utilizar como aproximación a la gráfica de
y = f (x) su tangente en un punto próximo al cero buscado, utilice-
mos la secante que pasa por dos de sus puntos también próximos a
este cero.
Supongamos que el intervalo [a, b ] aı́sla el cero buscado, que es un
cero simple, y por tanto f (a)f (b) < 0. Utilizando los valores a y
b como aproximaciones al cero buscado esperamos que una mejor
aproximación será la intersección de la recta que pasa por los puntos
(a, f (a)) y (b, f (b)) con el eje X. El valor de esta abscisa será

f (b)
c=b− (b − a)
f (b) − f (a)

Al igual que en el caso anterior este procedimiento puede iterarse


tratando de mejorar la aproximación dada por c. Sin embargo
en este caso cada iteración está basada no solamente en la última
aproximación obtenida sino en las dos últimas. La regla que define

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Cálculo de ceros de funciones

la sucesión de iterados a partir de los dos primeros valores x0 y x1


es la siguiente:
xn − xn−1
x̄n+1 = xn − f (xn ).
f (xn ) − f (xn−1 )

Obsérvese que, en comparación con el método de Newton, aquı́ no


necesitamos evaluar f ′ . Habrá que evaluar la función f en dos
puntos distintos; sin embargo en cada paso es suficiente conservar
la última evaluación del paso anterior.

9 El método de extrapolación de Aitken


Sea F : [a, b] → [a, b] una función diferenciable tal que

sup |F ′ (x)| = M < 1


x∈[a,b]

Por el teorema de la aplicación contractiva implica ∃!x̄ tal que


F (x̄) = x̄. Además, para todo x ∈ [a, b], limn F n (x) = x̄.
Fijamos x0 y sea xn = F n (x0 ), entonces
x̄ − xn
lim = F ′ (x̄)
n x̄ − xn−1

Si F ′ (x̄) = 0 entonces la convergencia de la sucesión (xn ) hacia


x̄ es cuadrática. Sin embargo, si F ′ (x̄) 6= 0 la convergencia será
solamente lineal. Veamos un método que nos permite acelerar la
convergencia a partir de los iterados calculados. Más concreta-
mente, corregiremos el valor de la aproximación xn+1 por medio de
los valores xn−1 , xn , y el propio xn+1 .
Estudiamos el cociente

xn+1 − xn (x̄ − xn ) − (x̄ − xn+1 )


dn = = =
xn − xn−1 (x̄ − xn−1 ) − (x̄ − xn )

x̄ − xn+1
1−
x̄ − xn x̄ − xn ′ 1 − F ′ (ξn )
= = F (ξn−1 ) (9.3)
x̄ − xn−1 1 − x̄ − xn 1 − F ′ (ξn−1 )
x̄ − xn−1
donde los puntos ξk caen en los intervalos que unen los puntos x̄ y
xk según el teorema del valor medio.
Si tomamos el lı́mite de la última fracción obtenemos, por con-
tinuidad de F ′ ,
lim dn = F ′ (x̄).
n

La fracción 9.3 puede utilizarse entonces como aproximación de la


derivada F ′ cerca del punto x̄, por tanto

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Cálculo de ceros de funciones

xn+1 − xn
dn = ≈ F ′ (x̄),
xn − xn−1
y entonces

x̄ − xn+1
x̄ − xn+1 = (x̄ − xn ) + (xn − xn+1 ) ≈ + (xn − xn+1 )
dn
1
(1 − )(x̄ − xn+1 ) = xn − xn+1
dn
dn
x̄ − xn+1 ≈ (xn − xn+1 )
dn − 1
De esta última expresión obtenemos la aproximación
dn
c ≈ xn+1 + (xn+1 − xn )
1 − dn
que es la llamada fórmula de extrapolación de Aitken. Este método
nos da a partir de los iterados (xn ) las correcciones (x̂n ); una vez
substituidas las dn obtenemos
(xn+1 − xn )2 xn+1 xn−1 − xn 2
x̂n+1 = xn+1 − = .
xn+1 − 2xn + xn−1 xn+1 − 2xn + xn−1

10 Tratamiento de raı́ces dobles por el método


de Newton
Como hemos visto, el método de Newton tiene orden de convergen-
cia dos cuando el cero al que converge es simple. Sin embargo,
cuando el cero es múltiple la convergencia es lineal. La razón
es la siguiente. Si c es un cero de orden m ≥ 2 de f entonces
f (x) = (x − x̄)m g(x) donde g(x̄) 6= 0. Por tanto,

g(x)
F (x) = x − (x − x̄)
mg(x) + (x − x̄)g ′ (x)
F ′ (x) =
 
g(x) d g(x)
1− − (x − x̄)
mg(x) + (x − x̄)g ′ (x) dx mg(x) + (x − x̄)g ′ (x)
1
F ′ (x̄) = 1 − 6= 0
m
(10.4)

por tanto la convergencia es lineal.


Estudiaremos varios métodos para acelerar esta convergencia.
Un primer método consistirá en aplicar la extrapolación de Aitken
a la sucesión de iterados de Newton.

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Cálculo de ceros de funciones

Si pudiéramos determinar el valor de m entonces también podrı́amos


recuperar la convergencia cuadrática modificando el método de
Newton de la siguiente manera

f (xn )
F (xn+1 ) = xn − m (10.5)
f ′ (xn )
ya que entonces, al repetir los cálculos de (10.4), obtendrı́amos
m
F ′ (x̄) = 1 − = 0.
m
O bien podrı́amos calcular el cero simple de f (m−1) .
El valor de m se puede determinar experimentalmente por medio de
la estimación de F ′ (x̄) a partir de los iterados. Resulta que, como
hemos visto anteriormente

xn+1 − x̄ xn+1 − xn m−1


lim = lim = F ′ (x̄) = ,
n xn − x̄ n xn − xn−1 m
de forma que si al aplicar el método de Newton observamos que la
convergencia (el número de cifras decimales que se estabilizan) es
muy lenta, sospecharemos que estamos tratando de determinar un
cero doble y trataremos de ver si los cocientes

xn+1 − xn
xn − xn−1
se estabilizan cerca de un valor λ; en caso afirmativo determinamos
el entero m por medio de m−1 = λ.
√m
Ejemplo 10.1. Cálculo de 2 como cero doble del polinomio x4 −
4x2 + 4 por diversos métodos.

3x4 − 4x2 − 4
Método de Newton: F (x) =
4x3 − 8x
x4 − 4
Newton doble: F (x) = 3
2x − 4x
2x3
Newton derivada: F (x) = 2
3x − 2
xk+1 xk−1 − x2k
Aitken (sobre Newton): x̂k+1 = .
xk+1 − 2xk + xk−1
Iniciamos todos los métodos con x0 = 1′ 5.
Newton Newton doble Newton der. Aitken
1’5 1’5 1’5
1’458333333 1’416666667 1’421052632
1’436607143 1’414225686 1’414262619 1’4129
1’425497619 1’414214593 1’414213565 1’413872357
1’419877922 1’414216893 1’414213565 1’414125283
1’417051391 1’414214181 1’414227626

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Cálculo de ceros de funciones

Podemos observar que si sobre la columna de Newton simple cal-


culamos los cocientes

xn+1 − xn
xn − xn−1
los tres primeros valores son: 0’5214, 0’5113, 0’5058; se estabilizan
sobre el valor λ = 0′ 5 por tanto m = 2, como ya sabı́amos.

11 El método de Muller
Consiste en sustituir la función f por un polinomio de segundo grado P (x) en un intervalo
que contenga la solución buscada y resolver P (x) = 0. Para ello se parte de tres puntos
x0 , x1 , x2 en dicho intervalo y se localiza la intersección de la cónica que pasa por (x0 , f (x0 )),
(x1 , f (x1 )), (x2 , F (x2 )) con el eje X: x3 . Se itera el proceso obteniéndose xn+1 con base en
xn−2 , xn−1 , xn .

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Notas Calculo Numerico 3

Cálculo Numérico (Universidad Autónoma de Madrid)

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Laura Black (paulalourido1@gmail.com)
lOMoARcPSD|2722049

Cálculo Numérico I

Interpolación
El objeto de este capı́tulo es el estudio de técnicas que permitan
manejar una función dada por medio de otra sencilla y bien deter-
minada que la aproxime en algún sentido.
El lector ya conoce la aproximación que de una función de clase
C k+1 proporciona su polinomio de Taylor de orden k en torno a
un punto. Sabemos que, en general, esta aproximación es buena
cerca del punto dado. Sin embargo, si queremos obtener una buena
aproximación de la función en todo un intervalo tenemos que re-
currir a otras técnicas.
Estudiaremos en primer lugar la interpolación polinómica y más
adelante la interpolación por medio de polinomios osculadores y
por splines.
Algunas otras posibilidades que no estudiaremos: interpolación
por funciones racionales, ajuste por mı́nimos cuadrados, series de
Fourier, wavelets.

12 Interpolación polinómica
Sea f (x) una función, que en todo este capı́tulo supondremos al
menos continua, definida sobre un intervalo [a, b ]. Ya sea porque
el calcular los valores de f requiere un cierto trabajo ya porque
la función f no es totalmente conocida —digamos que podemos
calcular experimentalmente unos cuantos valores de f — queremos
sustituir f por una función sencilla con la propiedad de coincidir con
f en ciertos puntos de [a, b ]. Nos ocuparemos en principio del caso
en el que la función sencilla que buscamos es un polinomio del menor
grado posible. Si el número de puntos distintos del intervalo [a, b ]
sobre los que queremos que el polinomio coincida con la función
es de k + 1 entonces siempre podremos encontrar un polinomio de
grado k.

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Interpolación

13 Forma de Lagrange
Teorema 3 (Existencia y unicidad). Dados (x0 , y0 ), (x1 , y1 ),
. . . , (xn , yn ), puntos de R2 verificando la propiedad de que, si i 6= j,
xi 6= xj , existe un único polinomio Pn de grado menor o igual que
n que verifica ∀i = 0, 1, . . . , n, Pn (xi ) = yi .

Demostración. Obsérvese primero que para cada j es muy fácil


construir un polinomio Lj (x) de grado menor o igual que n que
tiene ceros
Qnen los puntos xi , i 6= j, i = 0, 1, . . . , n; sea éste por
ejemplo i=0,i6=j (x − xi ). Si además queremos que tome un de-
terminado valor en xj no tendremos más que multiplicarlo por la
constante adecuada:
Qn
i=0,i6=j (x − xi )
Lj (x) = Qn
i=0,i6=j (xj − xi )

toma el valor 1 en x = xj .
A partir de estos polinomios Lj es muy fácil construir el polinomio
buscado. Éste será
n
X
Pn (x) = yj Lj (x).
j=1

Ésta es la llamada forma de Lagrange del polinomio interpolador.


La unicidad del polinomio interpolador se deduce del teorema fun-
damental del álgebra de la siguiente manera: si Q fuese otro poli-
nomio interpolador de grado menor o igual que n entonces la dife-
rencia P − Q tendrı́a n + 1 ceros distintos x0 , x1 , . . . xn , siendo un
polinomio de grado n, y por tanto serı́a idénticamente nula.

La demostración que hemos dado es una demostración constructiva


del polinomio interpolador. En el siguiente ejemplo utilizamos este
método para construir el polinomio interpolador pedido.
Ejemplo 13.1. Hallar el polinomio interpolador de los puntos (−1, 3),
(0, −2), (2, 4).
Construiremos Li (x), i = 0, 1, 2 tales que Li (xj ) = δij (delta de
Kronecker) con xj = −1, 0, 2 para j = 0, 1, 2 respectivamente.

x(x − 2)
L0 (x) =
(−1)(−3)
(x + 1)(x − 2)
L1 (x) =
1(−2)
(x + 1)x
L2 (x) =
3·2

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Interpolación

El polinomio buscado será

P (x) = 3 · L0 (x) − 2 · L1 (x) + 4 · L2 (x)


= x(x − 2) + (x + 1)(x − 2) + (2/3)(x + 1)x
= (8/3)x2 − (7/3)x − 2.

14 Forma de Newton. Diferencias divididas


La forma del polinomio interpolador que hemos obtenido es la lla-
mada forma de Lagrange. Su expresión, aún siendo sencilla, tiene
la dificultad de que para n grande no solamente hace falta un gran
número de cálculos sino que además si quisiéramos aumentar en
una unidad —con el fin de mejorar la aproximación— el grado del
polinomio interpolador, tendrı́amos que realizar nuevamente todo
el cálculo. Sin embargo la forma de Lagrange serı́a rentable si
tuviéramos que calcular el polinomio interpolador de varias fun-
ciones sobre los mismos nodos.
Buscaremos ahora otra forma en la cual el polinomio interpolador
de grado n + 1 se expresa como una corrección del polinomio inter-
polador de grado n.
Sean Pn y Pn+1 los polinomios interpoladores de una función f con
nodos en los puntos x0 , . . . , xn y x0 , . . . , xn , xn+1 respectivamente.
Como ambos polinomios coinciden en los n + 1 primeros nodos su
diferencia será cero en ellos y al ser esta diferencia un polinomio
de grado menor o igual que n se tendrá que Pn+1 − Pn = C(x −
x0 )(x − x1 ) · · · (x − xn ). Éste será pues el término corrector a falta
de determinar la constante C. Su valor podrá calcularse evaluando
esta diferencia en el punto xn+1

f (xn+1 ) − Pn (xn+1 )
C= .
(xn+1 − x0 )(xn+1 − x1 ) · · · (xn+1 − xn )

El valor de esta constante C puede calcularse de diversas maneras.


Para expresarlo directamente en términos de los nodos y de los
valores de la función f en ellos puede compararse con el coeficiente
principal de la forma de Lagrange del polinomio interpolador
n
X f (xi )
C= Qn . (14.1)
i=0 j=0,j6=i (xi − xj )

Otra forma de obtener este coeficiente C será por recurrencia res-


pecto de los coeficientes principales de polinomios interpoladores de
menor grado. Si se escribe el polinomio interpolador de los puntos
(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ) de la forma
x1 ,...,xn x ,...,xn−1
x0 ,...,xn (x − x0 )Pn−1 (x) − (x − xn )Pn−1
0
(x)
Pn (x) =
xn − x0

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Interpolación

entonces se observa que el coeficiente principal C = anx0 ,...,xn será


igual a la siguiente combinación de los coeficientes principales de
los otros dos: x1 ,...,xn x0 ,...,xn−1
x0 ,...,xn an−1 − an−1
an =
xn − x0
Los coeficientes ak se irán entonces calculando comenzando por los
a0 :
ax0 i = f (xi )
y a partir de ellos iteradamente
x
x ,x a0 j − ax0 i f (xj ) − f (xi ) def
a1 i j = = = f [xi , xj ]
xj − xi xj − xi

x ,xj ,xk f [xj , xk ] − f [xi , xj ] def


a2 i = = f [xi , xj , xk ]
xk − xi
y en general
f [x1 , . . . , xk ] − f [x0 , . . . , xk−1 ] def
akx0 ,...,xk = = f [x0 , . . . , xk ]
xk − x0
Por esta razón las f [x0 , . . . , xk ] reciben el nombre de diferencias
divididas de Newton de orden k de la función f con nodos en los
puntos x0 , . . . , xk . Las diferencias divididas de orden cero son sim-
plemente los valores de la función en los nodos.

15 Acotación del error


Si los yi son los valores de una función f en los respectivos xi
llamaremos a P el polinomio interpolador de f con nodos en los
puntos xi . El polinomio P coincide con la función f en los puntos xi
y nos gustarı́a saber cual es la desviación entre ambos en cualquier
otro punto. Tratemos de evaluar esta desviación en un punto x = t.
Observemos que la función error E(x) = P(x) − f (x) tiene ceros
en los puntos x0 , . . . , xn y por tanto coincidirá sobre ellos con el
polinomio L(x) = C(x − x0 )(x − x1 ) · · · (x − xn ). Tomando un valor
adecuado de la constante C podemos hacer que ambas funciones E
y L coincidan también en el punto t. Supongamos que la función
f es de clase C n+1 . Su diferencia L(x) − E(x) tiene n + 2 ceros
distintos x0 , x1 , . . . , xn , t y por tanto la derivada de orden n + 1 de
esta diferencia tiene al menos un cero ξ en el intervalo más pequeño
I(x0 , x1 , . . . , xn , t) que contiene a estos puntos.
dn+1 x=ξ = C(n + 1)! + f (n+1) (ξ) = 0

(L(x) − E(x))
dxn+1
y por tanto

f (n+1) (ξ)
C=−
(n + 1)!

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Interpolación

ası́

f (n+1) (ξ)
E(t) = P(x) − f (x) = − (t − x0 )(t − x1 ) · · · (t − xn )
(n + 1)!

y esta fórmula del error es válida para todo t, teniendo en cuenta


que el punto ξ depende de t. Si se quiere una acotación válida en
todo un intervalo bastará tomar una cota superior de f (n+1) en este
intervalo.
En todo el desarrollo que precede hemos demostrado el siguiente
teorema.
Teorema 4. Sea f una función de clase C n+1 en un intervalo [a, b ]
de la recta. Sea P el polinomio interpolador de f con nodos en
los puntos x0 , . . . , xn ∈ [a, b ]. Entonces para todo t ∈ [a, b ] existe
ξ ∈ I(x0 , . . . , xn , t) tal que I(x0 , . . . , xn ) es el menor intervalo de
R que contiene a todos los xi , i =
0, . . . , n.
(t − x0 )(t − x1 ) · · · (t − xn ) (n+1)
f (t) − P(t) = f (ξ)
(n + 1)!

Si la función f no es derivable se puede obtener una fórmula del


error análoga de la siguiente manera: fijamos el punto x en el que
queremos estimar el error y hallamos el polinomio Pn+1 que inter-
pola a f en los nodos x0 , . . . , xn , y x. La forma de Newton para el
polinomio interpolador nos da

Pn+1 (t) = Pn (t) + f [x0 , . . . , xn , x](t − x0 )(t − x1 ) · · · (t − xn )

y por tanto

f (x)−Pn (x) = Pn+1 (x)−Pn (x) = f [x0 , . . . , xn , x](x−x0 ) · · · (x−xn ).

De todo lo visto hasta ahora podemos deducir las siguientes propiedades


de las diferencias divididas.

1. n
X f (xi )
f [x0 , . . . , xn ] = Qn .
i=0 j=0,j6=i (xi − xj )

2. Para toda permutación (i0 , i1 , . . . , in ) de (0, 1, . . . , n)

f [x0 , . . . , xn ] = f [xi0 , . . . , xin ].

3. Si f ∈ C n [a, b] entonces

f (n) (x)
lim f [x0 , . . . , xn ] =
x0 ,...,xn →x n!
siempre que x0 , . . . , xn , x ∈ [a, b ].

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Interpolación

Nota 1. La propiedad 3. precedente es consecuencia directa de las


dos fórmulas de acotación del error recién vistas. Es más, en ellas
se demuestra que existe ξ ∈ I(x0 , . . . , xn ) tal que f [x0 , . . . , xn ] =
f (n) (ξ)/n!.
En ambas fórmulas de error aparece el polinomio L(x) = (x −
x0 ) · · · (x − xn ). Para acotar el error de interpolación tenemos que
estudiar el tamaño de L(x). En general, esta estimación es compli-
cada; sin embargo, cuando los nodos están igualmente separados,
caso común en la práctica, la acotación resulta ser más accesible.
Si h es la distancia entre dos nodos consecutivos, por medio de un
cambio lineal de variable podemos reducir el polinomio a una de
las dos formas siguientes:

L(x) = (x − kh) · · · (x − h)x(x + h) · · · (x + kh)


(L de grado impar)
2k + 1 1 1 2k + 1
L(x) = (x − h) · · · (x − h)(x + h) · · · (x + h)
2 2 2 2
(L de grado par)

y estudiar el máximo de |L(x)| en I(x0 , . . . , xn ) o, con mayor pre-


cisión, entre cada par de nodos consecutivos.
Estimación para la interpolación lineal.
1
|E(x)| = sup |f ′′ (ξ)||(x − x0 )(x − x1 )|
2 ξ∈I(x0 ,x1 )

El polinomio |(x − x0 )(x − x1 )| alcanza su máximo dentro del in-


tervalo [x0 , x1 ] en su punto medio y este máximo vale 41 h2 .
Estimación para la interpolación cuadrática.
1
|E(x)| ≤ sup |f ′′′ (ξ)||(x − x0 )(x − x1 )(x − x2 )|
6 ξ∈I(x0 ,x1 ,x2 )

El máximo de |(x − x0 )(x − x1 )(x − x2 )|



en [x0 , x1 ] será el mismo
2 3 3
que el de |(x − h)x(x + h)| y este vale 3 h . Por tanto

3 3
|E(x)| ≤ M h donde M = sup |f ′′′ (ξ)|
9 ξ∈I(x0 ,x1 ,x2 )

Estimación para la interpolación cúbica.


1
|E(x)| ≤ sup |f iv (ξ)||(x − x0 )(x − x1 )(x − x2 )(x − x3 )|.
24 ξ∈I(x0 ,x1 ,x2 ,x3 )

Analizamos el polinomio (x − 23 h)(x − 12 h)(x + 21 h)(x + 23 h). Su


máximo valor absoluto en el intervalo [− 23 h, 32 h] es h4 .

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Interpolación

También podemos analizar por separado su máximo en el intervalo


[− 21 h, 12 h]. Éste es 16
9 4
h ; por tanto en este intervalo

3
|E(x)| ≤ M h4 , donde ahora M = sup |f iv (ξ)|.
128 ξ∈[x0 ,x3 ]

16 Interpolación osculatoria
Recordemos una de las formas en las que se obtiene el polinomio
de Taylor: dada una función f , de clase n, y su valor y los valores
de sus n primeras derivadas en un punto x0 hallar el polinomio del
menor grado posible que tiene estos mismos valores. Escribiendo
el polinomio en función de sus coeficientes (por simplicidad, en
potencias de x − x0 ) podemos determinarlos con los n + 1 datos y
por tanto el polinomio tendrá grado menor o igual que n.
Si en el la fórmula de Newton del polinomio interpolador de n + 1
puntos hacemos que todos ellos tiendan a uno, sea este x0 , observa-
mos, dadas las propiedades de las diferencias divididas, que nuestro
polinomio se convierte en el de Taylor.
Podemos imaginar cualquier situación intermedia en la que agru-
pemos los nodos en varias clases y todos los correspondientes a una
clase tiendan a uno dado. Obtenemos ası́ un polinomio interpo-
lador osculador , llamado también polinomio de Hermite en el cual polinomio interpolador osculador
se tienen un cierto número de nodos y en cada uno de estos se cono- polinomio de Hermite

cen los valores de las derivadas hasta un cierto orden. El grado de


este polinomio serı́a una unidad menor a la suma de los órdenes de
las derivadas que se conocen en cada nodo. Por ejemplo, si tenemos
nodos xi , i = 1, . . . , k, y el número de derivadas conocidas en xi
es ni , entonces el grado del polinomio interpolador osculador será
n1 + n2 + · · · + nk − 1. Los casos del polinomio interpolador ordi-
nario (llamado también polinomio de Lagrange) y del polinomio de
Taylor son los extremales de esta situación.
Vamos a estudiar un sólo caso particular de polinomio interpolador
osculador: aquel en el que en cada nodo conocemos el valor de
la función y el valor de su primera derivada. De hecho vamos a
estudiar solamente el caso en el cual tenemos dos nodos: x0 , x1 .
En este caso al tener cuatro datos el polinomio osculador será de
grado menor o igual que tres; suele denominarse polinomio cúbico
de Hermite. Podemos plantear el sistema de ecuaciones polinomio cúbico de Hermite

a+bx0 + cx20 +dx30 = f (x0 )


a+bx1 + cx21 +dx31 = f (x1 )
b+ 2cx0 +3dx20 = f ′ (x0 )
b+ 2cx1 +3dx21 = f ′ (x1 );

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Interpolación

también podemos partir de la forma de Newton del polinomio inter-


polador y concentrar los cuatro nodos dos a dos sobre x0 , x1 . Las
diferencias divididas de primer orden sobre puntos que convergen
al mismo nodo convergen a la derivada de forma que una colección
de diferencias divididas puede calcularse según la siguiente tabla

x0 f (x0 )
f ′ (x0 )
f [x0 , x1 ] − f ′ (x0 )
x0 f (x0 )
x1 − x0
f ′ (x1 ) − 2f [x0 , x1 ] + f ′ (x0 )
f [x0 , x1 ]
(x1 − x0 )2
f ′ (x1 ) − f [x0 , x1 ]
x1 f (x1 )
x1 − x0
f ′ (x1 )
x1 f (x1 )

Ejemplo 16.1. Polinomio osculador que interpola a la función f (x)


con datos f (0) = f (π) = 0, f ′ (0) = 1, f ′ (π) = −1 (estos datos
corresponden a la función sen x. Las diferencias divididas relevantes
son: f (0) = 0, f [0, 0] = f ′ (0) = 1, f [0, 0, π] = −1/π, f [0, 0, π, π] =
0, por lo que el polinomio buscado es P (x) = x − x2 /π.
Una acotación del error en este polinomio puede calcularse por
medio de la misma fórmula que en el caso del polinomio interpolador
ordinario, repitiendo ahora los nodos: |ε(x)| ≤ 4!1 sup |f (4) (x)||(x −
x0 )2 (x − x1 )2 |.
En el ejemplo anterior, sabido que la función interpolada es sen x,
se obtiene la cota 4!1 (π/2)4 ≤ 0′ 26

17 Splines
En todo lo anterior hemos aproximado una función dada por medio
de un polinomio de un cierto grado en todo un intervalo. Obser-
vando cualquiera de las fórmulas de error que hemos obtenido se
ve que éste depende de la longitud del intervalo [a, b ]. Por ejem-
plo, si el grado del polinomio es 2, una cota superior grosera del
error será proporcional a ( (b−a)
2
)3 . As , una estrategia para encon-
trar una aproximación a la función f podr a ser la de subdividir el
intervalo de partida [a, b ] y hallar en cada uno de los subinterva-
los resultantes un polinomio interpolador de grado bajo en vez de
aumentar el grado del polinomio interpolador en todo [a, b ].
El procedimiento anterior tiene el defecto de que si bien la función
global resultante es continua, en los puntos de unión de subinter-
valos consecutivos no será, generalmente derivable. Si se quiere
conseguir una función de aproximación que sea de orden C l y que

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Interpolación

restringida a cada uno de los n subintervalos sea un polinomio de


grado k tendrán que calcularse n(k + 1) coeficientes y para ello se
tendrán 2n+l(n−1) condiciones —valores de cada polinomio en los
extremos de su subintervalo, coincidencia de derivadas a izquierda
y derecha en cada punto común a dos subintervalos—; para evi-
tar incompatibilidades queremos que el número de condiciones sea
menor o igual que el número de constantes a determinar, por tanto
n(k − l − 1) + l ≥ 0 para que este número sea independiente del
número de subintervalos k − l − 1 = 0, y nos quedarán entonces
l = k −1 constantes por determinar. Las funciones de aproximación
del tipo descrito se denominan splines. splines

Ejemplo 17.1. Spline cúbico. Dada una función f en el intervalo


[a, b ] y una partición de éste a = x0 < x1 < · · · < xn = b se
busca una función s(x) cuya restricción al subintervalo [xi−1 , xi ], i =
1, . . . , n será un polinomio si (x) = ai0 +ai1 x+ai2 x2 +ai3 x3 que cumpla
(k)
las condiciones si (xi−1 ) = f (xi−1 ), si (xi ) = f (xi ), si−1 (xi−1 ) =
(k)
si (xi ), k = 1, 2.
El número total de constantes aji a deteminar será de 4n. El número
total de ecuaciones disponible es de 2n + 2(n − 1) = 4n − 2. Ten-
dremos pues dos grados de libertad que completaremos de diversas
maneras.
Ejemplo 17.2. Spline cúbico natural. Los dos grados de libertad
restantes se determinarán forzando s′′ (x0 ) = s′′ (xn ) = 0.
Ejemplo 17.3. Spline cúbico completo. Los dos grados de li-
bertad restantes se determinarán fijando s′ (x0 ) = f ′ (x0 ), s′ (xn ) =
f ′ (xn ).

Construcción de splines cúbicos

Dados los nodos x0 , x1 , . . . , xn , que supondremos dados en orden


creciente: x0 < x1 < · · · < xn , y dada una función f definida sobre
el intervalo [x0 , xn ], queremos construir una función s de clase C 2 ,
que interpole a f en los nodos dados y que sobre cada intervalo con
extremos dos nodos consecutivos sea un polinomio cúbico: si =
s|[xi−1 ,xi ] , i = 1, 2, . . . , n.
A fin de determinar los coeficientes de cada polinomio cúbico toma-
mos como indeterminadas las derivadas segundas de la función s en
los nodos: s(xi ) = Mi , i = 0, 1, . . . , n, y vemos como determinarlas
en función de los datos:f (x0 ), f (x1 ), . . . , f (xn ).
Al ser un polinomio lineal, la expresión de cada s′′ i en términos de
las Mi resulta sencilla:
x − xi x − xi−1
s′′i (x) = Mi−1 + Mi
xi−1 − xi xi − xi−1
de forma que al integrar dos veces obtenemos la expresión corres-
pondiente a si . Elegimos las constantes de integración de una forma

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Interpolación

peculiar, que se justifica enseguida al tomar valores en los extremos.

1 (x − xi )2 (x − xi−1 )2
s′i (x) = 2
Mi−1 + 21 Mi + Ai + Bi
xi−1 − xi xi − xi−1
1 (x − xi )3 1 (x − xi−1 )3
si (x) = Mi−1 + Mi +Ai (x−xi−1 )+Bi (x−xi )
6 xi−1 − xi 6 xi − xi−1
Si tomamos valores en los extremos:
1
f (xi−1 ) = (xi−1 − xi )2 Mi−1 + (xi−1 − xi )Bi
6
1
f (xi ) = (xi − xi−1 )2 Mi + (xi − xi−1 )Ai
6
Y de estas expresiones obtenemos
f (xi−1 ) 1
Bi = − (xi−1 − xi )Mi−1
xi−1 − xi 6
f (xi ) 1
Ai = − (xi − xi−1 )Mi
xi − xi−1 6
El sistema de ecuaciones que tenemos que resolver para determinar
las Mi lo obtenemos ahora de las condiciones que nos faltan por
usar: las derivadas primeras a la izquierda y a la derecha en cada
uno de los nodos interiores xi , i = 1, 2, . . . , n − 1, coinciden.
s′i (xi ) = s′i+1 (xi )
s′i (xi ) = 12 (xi − xi−1 )Mi + Ai + Bi
s′i+1 (xi ) = 12 (xi − xi+1 )Mi + Ai+1 + Bi+1
Por tanto
1 1 1
(xi − xi−1 )Mi−1 + (xi+1 − xi−1 )Mi + (xi+1 − xi )Mi+1
6 3 6
f (xi+1 ) − f (xi ) f (xi ) − f (xi−1 )
= −
xi+1 − xi xi − xi−1
Para i = 1, 2, . . . , n−1. Se obtiene ası́ un sistema de n−1 ecuaciones
y n + 1 incógnitas que queda por tanto indeterminado. Requerimos
añadir dos ecuaciones más para tener todas las si definidas.
Como se indica en el ejemplo 17.2, una de las formas de añadir estas
dos ecuaciones extra es poniendo M0 = 0 y Mn = 0. Se obtiene ası́
el llamado spline cúbico natural.
Otra solución es la del ejemplo 17.3, que consiste en prescribir
los valores de las derivadas primeras en los extremos del intervalo:
f ′ (x0 ) y f ′ (xn ). El resultado ası́ obtenido se denomina spline cúbico
completo.
Se deja como ejercicio el obtener las dos ecuaciones resultantes en
los Mi que completan el sistema lineal.

10

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Notas Calculo Numerico 4

Cálculo Numérico (Universidad Autónoma de Madrid)

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Laura Black (paulalourido1@gmail.com)
lOMoARcPSD|2722049

Cálculo Numérico I

Integración Numérica
La integral resuelve el problema de calcular el área bajo la gráfica de
una función positiva definida sobre un intervalo cerrado. El cálculo
elemental de funciones de una variable real proporciona un método
elegante de calcular la integral de una función. El teorema funda-
mental del cálculo nos dice que el problema de calcular la integral
de una función continua se reduce al de buscar una segunda función
cuya derivada sea la función dada, es decir una primitiva de ella.
Sin embargo el problema de hallar una primitiva de una función
dada puede resultar muy difı́cil si no imposible. De hecho sabemos
que existen funciones elementales —es decir, combinaciones alge-
braicas de funciones trigonométricas y logarı́tmicas y sus inversas—
2
cuyas primitivas no son expresables de esta forma (p. ej. e−x ). Por
esta razón es por la que estudiamos métodos numéricos que apro-
ximen el valor de la integral buscada. Ya la definición de integral
de Riemann proporciona un método de aproximación numérica: las
sumas de Riemann. Sin embargo su convergencia es muy lenta y
no resultan útiles para obtener resultados prácticos. Los métodos
numéricos que vamos a estudiar consisten en sustituir la función
dada por una aproximación suya y tomar como valor de la integral
de la función el valor de la integral de su aproximada.
Veremos en primer lugar los resultados que se obtienen aproxi-
mando la función por medio de un polinomio interpolador con es-
pecial énfasis en los casos lineal (regla del trapecio) y cuadrático
(regla de Simpson). A continuación estudiaremos las cuadraturas
de Gauss.

18 Regla del Trapecio


Si para calcular el valor aproximado de la función f en el inter-
valo [a, b ] sustituimos dicha función por el polinomio lineal que la
interpola con nodos en los extremos del intervalo obtenemos
Z b
(x − a)f (b) + (b − x)f (a) f (b) + f (a)
Tf = = (b − a) .
a b−a 2

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Integración

¿Cuál será el error cometido?


Z b
E(T f ) = T f − I(f ) = − (x − a)(x − b)f [a, b, x]dx
a

Por el teorema del valor medio generalizado del cálculo integral


Z b
∃ξ ∈ (a, b) : E(T f ) = −f [a, b, ξ] (x − a)(x − b)dx
a

y por tanto, si f ∈ C 2 ([a, b]),


(b − a)3 ′′
∃ζ ∈ (a, b) : E(T f ) = f (ζ).
12
Si b − a no es pequeño la regla del trapecio no será muy útil para
calcular I(f ). En ese caso podrı́amos aplicarla dividiendo antes
el intervalo [a, b ] en un cierto número n de subintervalos de lon-
gitud h = (b − a)/n con extremos xj = a + jh, j = 0, 1, . . . , n.
Tendrı́amos entonces
n Z xj n 
h3 ′′

X X h
I(f ) = f (x)dx = [f (xj−1 ) + f (xj )] − f (ξj )
j=1 x j−1 j=1
2 12
n
h3 X ′′
= h[ 12 f (x0 ) + f (x1 ) + · · · + f (xn−1 ) + 1
2
f (xn )] − f (ξj ).
12 j=1

Llamamos regla del trapecio compuesta a regla del trapecio compuesta

b−a 1
Tn f = [ f (x0 ) + f (x1 ) + · · · + f (xn−1 ) + 12 f (xn )].
n 2
El error que se comete al tomar Tn f en vez de If es
n
h3 X ′′
E(Tn f ) = Tn (f ) − I(f ) = f (ξj )
12 j=1
n
h2 1 X ′′ h2
= (b − a) f (ξj ) = (b − a)f ′′ (ξ), ξ ∈ (a, b).
12 n j=1 12
Este error puede estimarse asintóticamente de la siguiente manera:
( n
)
E(Tn f ) h X ′′
lim = lim f (ξj )
n→∞ h2 n→∞ 12 j=1

cantidad esta última que se puede interpretar como una suma de


Riemann de forma que
Z b
E(Tn f ) 1 ′′ f ′ (b) − f ′ (a)
lim = f (x)dx =
n→∞ h2 12 a 12

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Integración

y ası́ se obtiene
h2 ′
E(Tn f ) ≈ [f (b) − f ′ (a)] ≡ Ẽ(Tn f )
12
Se dice que Ẽ(Tn f ) es una estimación asintótica del error E(f ).
Utilizando esta estimación asintótica del error se puede mejorar la
regla del trapecio con la llamada regla del trapecio corregida: regla del trapecio corregida

(b − a)2 ′
CTn (f ) = Tn f − 2
[f (b) − f ′ (a)].
12n
Ejemplo 18.1. Calcular por medio de la regla del trapecio la integral
Z 1
4dx
2
(= π).
0 1+x

Determinar utilizando la formula del error cuantas veces habrá


que componer la regla del trapecio para calcular la integral an-
terior con dos cifras decimales correctas (error menor que 5 · 10−3 ).
Aplicar esta regla compuesta y corregirla después por medio del
error asintótico calculado.

(b − a)3 2
|E| ≤ 2
sup |f ′′ (x)| ≤ 2
12n x∈[a,b] 3n
buscamos n tal que 2(3n2 )−1 ≤ 5 · 10−3 es decir 102 ≤ 0′ 75 · n2 , es
suficiente tomar n = 12.
Aplicando la regla compuesta del trapecio con n = 12 y trabajando
con mantisa de 12 dı́gitos con una casio fx-3600G se obtiene:

T12 f = 3′ 14043525 CT12 f = 3′ 14159265


El valor correcto de π con nueve dı́gitos es 3’14159265.

19 Regla de Simpson
Thomas Simpson, 1710–1761
Si en vez de aproximar la función f linealmente se aproxima por
medio del polinomio cuadrático P2 que interpola a f con nodos en
los puntos a, c = (a + b)/2, b entonces el valor de la integral de f
sobre el intervalo [a, b ] se aproximará por medio de
Z b
Sf = P2 (x)dx
a

Escribiendo el polinomio P2 en su forma de Lagrange se obtiene


fácilmente que su integral sobre [a, b ] resulta ser
b−a
S(f ) = [f (a) + 4f (c) + f (b)].
6

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Integración

Para determinar el error en S(f ) integraremos el error en el poli-


nomio interpolador de segundo grado
Z b
E(Sf ) = − (x − a)(x − c)(x − b)f [a, c, b, x]dx.
a

Para calcular esta integral no podemos aplicar directamente el teo-


rema del valor intermedio del cálculo integral ya que ahora la función
(x − a)(x − c)(x − b) cambia de signo en el punto c. Sorteamos este
problema por medio de la función
Z x
w(x) = (t − a)(t − c)(t − b)dt,
a

primitiva de la anterior, que verifica las propiedades: w(a) = 0 =


w(b) y ∀x ∈ (a, b), w(x) > 0. Calculamos entonces la integral en
E(Sf ) integrando por partes:
Z b Z b
(P2 (x) − f (x))dx = − w′ (x)f [a, b, c, x]dx
a a
Z b
b d
= −(w(x)f [a, b, c, x]) a +
w(x) f [a, b, c, x]dx
a dx
Z b
d
= w(x) f [a, b, c, x]dx.
a dx

Y a esta última integral sı́ que puede aplicarse el teorema del valor
medio: d
dx f [a, b, c, x] = f [a, b, c, x, x]

Z b
= f [a, b, c, ξ, ξ] w(x)dx.
a

Dado que, si escribimos, h = (b − a)/2,


Z b Z bZ x
w(x)dx = (t − a)(t − b)(t − c)dtdx
a a a
Z bZ x−a−h
= (u + h)(u − h)u dudx
a −h
Z h Z y
= (u3 − h2 u) dudy
−h −h
5
= 4h /15.

Obtenemos
f (4) (ξ) 4 b − a 5
E= ( ).
24 15 2
Nuevamente, si h = (b − a)/2 es grande el error será inadmisible.
Como hicimos en el caso de la regla del trapecio podemos aplicar
la regla de Simpson a trozos sobre el intervalo [a, b ]:

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Integración

sea h = (b − a)/2n, xk = a + kh, jk = 0, 1, . . . , 2n,


Z b n Z
X x2j
f = f
a j=1 x2j−2
n X h5 n
X h
= [f (x2j−2 ) + 4f (x2j−1 ) + f (x2j )] − f IV (ξj ).
j=1
3 j=1
90

Llamamos regla de Simpson compuesta a regla de Simpson compuesta

b−a
Sn f = [f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 )+
6n

· · · + 2f (x2n−2 ) + 4f (x2n−1 ) + f (x2n )]

El error que se comete al tomar Sn f en vez de If es

n n
h5 X iv h4 1 X iv h4
E(Sn f ) = f (ξj ) = (b−a) f (ξj ) = (b−a)f iv (ξ).
90 j=1 90 2n j=1 180

También ahora podemos estimar el error por medio de


n n b
h5 h4 X h4 h4 ′′′
X Z
iv
f (ξj ) = 2hf iv (ξj ) ≈ f iv (ξ)dξ = (f (b)−f ′′′ (a)).
j=1
90 180 j=1 180 a 180

Si se corrige la regla de Simpson compuesta por medio de este error


asintótico se obtiene la regla de Simpson corregida: regla de Simpson corregida

(b − a)4 ′′′
CSn (f ) = Sn f − 4
[f (b) − f ′′′ (a)].
2880n
Ejemplo 19.1. Tratando ahora el ejemplo anterior
Z 1
4dx
2
0 1+x

con la regla de Simpson compuesta, y observando que 96 es una


d 4
cota superior para | dx 1+x2
| en el intervalo [0, 1], se obtiene que

96
|E(Sn f )| ≤ ;
90n4
buscamos n tal que
96
4
≤ 5 · 10−3
90n

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Integración

para lo que será suficiente tomar n = 4.


El resultado será S4 f = 3′ 14159250. Vemos que, aunque la acotación
del error que hemos obtenido para la regla de Simpson nos garan-
tiza solamente dos cifras decimales, hemos obtenido cinco cinco
cifras correctas. La corrección asintótica resulta ser cero ya que la
derivada tercera se anula tanto en x = 0 como en x = 1.

20 Reglas de Newton–Cotes
En general las reglas de integración numérica que se obtienen por
medio de la interpolación polinómica —como las del trapecio y de
Simpson— reciben el nombre de reglas de Newton–Cotes. Para Roger Cotes, 1682–1716
obtenerlas se escribe el polinomio interpolador en su forma de La-
grange

P (x) = L0 (x)f (x0 ) + L1 (x)f (x1 ) + · · · + Ln (x)f (xn )

y se obtienen los pesos a partir de las integrales de los polinomios


Li
Xn Z b
In f = wi f (xi ); wi = Li (x)dx.
i=0 a

Las reglas que se obtienen para n = 3 y n = 4 son:

Regla de los tres octavos


3
I3 f = h[f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )]
8

Regla de Boole
George Boole, 1815–1864
2
I4 f = h[7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 )]
45
El error en el caso de la regla de los tres octavos viene dado por
b
3 5 iv
Z
I3 f − f (x)dx = h f (ξ) ξ ∈ [a, b].
a 80
El error para la regla de Boole es
Z b
8 7 vi
I4 f − f (x)dx = h f (ξ), ξ ∈ [a, b].
a 945

Todos estos resultados pueden obtenerse como ejercicio.


En general la expresión del error en las reglas de Newton–Cotes es
de naturaleza distinta según la paridad de n:

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Integración

1. Si n es par y f ∈ C n+2 [a, b], ∃ξ ∈ (a, b) tal que

In f − If = Cn hn+3 f (n+2) (ξ)

donde
n
1
Z
Cn = − t2 (t − 1) . . . (t − n)dt.
(n + 2)! 0

2. Si n es impar y f ∈ C n+1 [a, b], ∃ξ ∈ [a, b] tal que


Z b
In f − f = Cn hn+2 f (n+1) (ξ)
a

donde
n
1
Z
Cn = − t(t − 1) . . . (t − n)dt.
(n + 1)! 0

21 Reglas Gaussianas
Las reglas de Newton–Cotes garantizan la integración exacta de
polinomios hasta un determinado grado: el error en las reglas im-
pares (trapecio, tres octavos,...) depende de la derivada de un orden
superior (segunda, cuarta,...) y por tanto la regla integra exacta-
mente polinomios hasta el mismo grado que indica la regla (primero,
tercero,...); el error en las reglas pares (punto medio, Simpson,
Boole,...) depende de la derivada de orden dos unidades por encima
de la regla (segunda, cuarta, sexta,...) y por tanto integra exacta-
mente polinomios polinomios hasta un grado por encima del orden
de la regla (primero, tercero, quinto,...).
A la vista de este comportamiento P vamos a buscar reglas de in-
tegración numérica de la forma wi f (xi ) que integren todos los
polinomios hasta un determinado grado, el mayor posible para el
número de sumandos elegidos para la regla. Obtendremos ası́ las
llamadas reglas Gaussianas o cuadraturas de Gauss. reglas Gaussianas
cuadraturas de Gauss
Si utilizamos un sólo nodo la regla resultante integrará exactamente
polinomios de grado menor o igual a uno: (normalizamos el cálculo
al intervalo [−1, 1]). Sea x0 el nodo y w0 el peso correspondiente, peso

Z 1 Z 1
dx = w0 , xdx = w0 x0 .
−1 −1

De aquı́ resulta x0 = 0, w0 = 2.
Si utilizamos dos nodos podemos integrar exactamente todos los
polinomios de grado menor o igual que tres:

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Integración

I2 f = w1 f (x1 ) + w2 f (x2 )

I2 (1) = w1 + w2 = 2
I2 (x) = w1 x1 + w2 x2 = 0
I2 (x2 ) = w1 x21 + w2 x22 = 23
I2 (x3 ) = w1 x31 + w2 x32 = 0
Este sistema no lineal resulta√tener solución única. Ésta verifica
w1 = w2 = 1 y x1 = −x2 = − 3/3. Ası́
√ √
3 3
I2 (f ) = f (− ) + f( ).
3 3
En general y por el mismo procedimiento, utilizando n nodos pode-
mos integrar exactamente todos los polinomios de grado ≤ 2n − 1.
Para obtener los nodos y los pesos de In debemos resolver el sistema
no lineal
2 = w1 + · · · + wn
0 = w1 x1 + · · · + wn xn
2
3
= w1 x21 + · · · + wn x2n
(21.1)
... ... ... ...
2
2n−1
= w1 x12n−2 + · · · + wn xn2n−2
0 = w1 x12n−1 + · · · + wn xn2n−1
La resolución de este sistema no lineal no es en general sencilla, de
hecho no está claro a priori que el sistema tenga solución o que, en
caso de existir, ésta sea única.
Abordamos el problema de su resolución por otros medios. Su-
pongamos primeramente que existen los xi y que son distintos y
están en el intervalo [0, 1]. El polinomio Ln (x) = (x − x1 )(x −
x2 ) · · · (x − xn ) debe tener integral exacta por medio de la regla
de Gauss y por tanto esta debe ser cero, ya que Ln (xi ) = 0. Si
Ln (x) = xn + a1 xn−1 + · · · + an−1 x + an podemos determinar los
coeficientes ai por medio del sistema lineal de ecuaciones
Z 1
0= xk Ln (x)dx k = 1, . . . , n.
−1

De hecho se obtienen dos sistemas lineales separados, uno que con-


tiene solamente a los coeficientes de ı́ndice par, y el otro solamente
a los de ı́ndice impar. Uno de ellos será homogéneo con solución
trivial, por tanto el polinomio obtenido tendrá solamente términos
cuyo grado tenga la misma paridad que n. Los ceros de este poli-
nomio son los nodos xi buscados. En general se obtendrán por
algún método de resolución de ecuaciones no lineales (Newton,...).
Los polinomios Ln reciben el nombre de polinomios mónicos de
Legendre y han sido estudiados extensivamente. polinomios mónicos de Legendre

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Integración

Una vez calculados (aproximados) los nodos, podemos volver al


sistema 21.1, que resultará un sistema lineal en las wi con un ex-
ceso de ecuaciones. También podemos recurrir al siguiente método
para calcular los pesos. Para calcular el peso wi consideramos el
polinomio
Ln (x)
pi (x) =
x − xi
es decir, le quitamos al polinomio Ln el factor x − xi . La integral
de este polinomio debe ser exacta por la regla de Gauss (su grado
es menor que 2n − 1) y por tanto
Z 1
wi pi (xi ) = pi (x)dx.
−1

Los dos cálculos anteriores resultan más sencillos si se observa que


los nodos son simétricos respecto de cero y por tanto los pesos para
dos nodos simétricos son iguales.

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Notas Calculo Numerico 5

Cálculo Numérico (Universidad Autónoma de Madrid)

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Laura Black (paulalourido1@gmail.com)
lOMoARcPSD|2722049

Cálculo Numérico I

Derivación Numérica
La definición de la derivada de una función como un lı́mite lleva
implı́cito un método de aproximación numérica:
f (x + h) − f (x)
f ′ (x) ≈ ≡ Dh f (x);
h
diremos que esta última cantidad es una derivada numérica de f
con paso h.
Ejemplo 21.1. Si calculamos la derivada numérica de f (x) = x2 en
x = 1,
h Dh f Error
0’1 2’1 0’1
0’05 2’05 0’05
0’025 2’025 0’025
Utilizando la fórmula de Taylor,

f (x + h) = f (x) + hf ′ (x) + 12 h2 f ′′ (c)

ası́

Dh f (x) = f ′ (x) + 21 hf ′′ (c)

por lo tanto el error en la derivada numérica es del orden de h. De


hecho en nuestro ejemplo f ′′ (1) = 2, por tanto el error es exacta-
mente h.

22 Derivada del polinomio interpolador


Si observamos la derivada numérica recién definida, podemos ver
que es simplemente la pendiente de la secante por (x, f (x)) y (x +
h, f (x + h)), es decir la derivada del polinomio interpolador de f en
los nodos x, x + h. Podemos aproximar numéricamente la deriva-
da de una función aproximando esta por medio de un polinomio
interpolador y calculando la derivada de este último.

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Derivación Numérica

Por ejemplo, sea P2 el polinomio que interpola a f con nodos en los


puntos x0 = x − h, x1 = x, x2 = x + h; se obtiene
(t − x1 )(t − x2 ) (t − x0 )(t − x2 ) (t − x0 )(t − x1 )
P2 (t) = 2
f (x0 )+ 2
f (x1 )+ f (x2 ).
2h −h 2h2
Por tanto,
2t − (x1 + x2 ) 2t − (x0 + x2 ) 2t − (x0 + x1 )
P′2 (t) = f (x 0 )+ f (x 1 )+ f (x2 );
2h2 −h2 2h2
en particular
x2 − x1 (x1 − x0 ) + (x1 − x2 ) x1 − x0
P′2 (x1 ) = 2
f (x0 )+ 2
f (x1 )+ f (x2 )
2h −h 2h2
f (x2 ) − f (x1 )
= .
2h

Es decir,
f (x1 + h) − f (x1 − h)
f ′ (x1 ) ≈ .
2h
que representa una especie de media entre la derivada ≪hacia ade-
lante≫ (h > 0) y la derivada ≪hacia atrás≫ (h < 0) de la anterior.
¿Cómo estimar el error en P′n (x)?
Teorema 5. Sea f ∈ C n+2 ([a, b]) y sea Pn (t) el polinomio interpo-
lador de f con nodos x0 , . . . , xn ∈ [a, b]; ∀t ∈ [a, b], ∃ξ1 , ξ2 ∈ [a, b]
tales que
f (n+2) (ξ1 ) f (n+1) (ξ2 )
f ′ (t) − P′n (t) = Ln (t) + L′n (t)
(n + 2)! (n + 1)!
donde Ln (t) = (t − x0 )(t − x1 ) · · · (t − xn ).

Demostración. El error en Pn viene dado por


Pn (t) − f (t) = −Ln (t)f [x0 , x1 , . . . , xn , t]
por tanto,

E(t) = Pn ′ (t) − f ′ (t)


d
= −L′n (t)f [x0 , . . . , xn , t] + Ln (x) f [x0 , . . . , xn , t]
dt
= −L′n (t)f [x0 , . . . , xn , t] + Ln (t)f [x0 , . . . , xn , t, t]

dado que f ∈ C (n+2) , ∃ξ1 , ξ2 ∈ [a, b] tal que


f (n+1) (ξ1 ) f (n+2) (ξ2 )
E(x) = −L′n (x) − Ln (x) .
(n + 1)! (n + 2)!

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Derivación Numérica

A fin de obtener el orden más alto en la última estimación trata-


mos de conseguir L′ (x) = 0. Podemos lograrlo para n impar si
distribuimos los nodos simétricamente respecto de x.
Ejemplo 22.1. Para n = 1, x = 12 (x0 + x1 ), x0 = x − δ, x1 = x + δ:

L(x) = (x−x0 )(x−x1 ); L′ (x) = (x−x1 )+(x−x0 ) = −δ+δ = 0

Ejemplo 22.2. Para n = 3, x0 = x − µ, x1 = x − δ, x2 = x + δ,


x3 = x + µ:

L(x) = (x − x0 )(x − x1 )(x − x2 )(x − x3 )


3
X

L (x) = (x − xi )(x − xj )(x − xk )
i,j,k=0;distintos

= δ(−δ)(−µ) + µ(δ)(−µ) + µδ(−µ) + µδ(−δ) = 0.


Ası́:
f (n+2) (ξ)
E(x) = Pn′ (x) − F ′ (x) = δ 2 µ2 .
(n + 2)!

En el caso general de n impar y nodos igualmente espaciados a


distancia δ y distribuidos simétricamente respecto de x

n−1 δ f (n+2) (ξ)


Pn ′ (x) − f ′ (x) = (−1) 2 ·32 ·52 · · · · ·n2 ( )n+1 .
2 (n + 2)!

De forma análoga, podemos conseguir que L(x) = 0 para n par


tomando x como uno de los nodos. Resulta entonces que L′ (x)
tiene un solo término no nulo y se obtiene un resultado análogo al
anterior.

23 Coeficientes indeterminados
El procedimiento descrito produce fórmulas de derivación numérica
del tipo:
n
X
(k)
f (x) = wi f (xi )
i=1

donde los xi son nodos predeterminados y los wi los ≪pesos≫ co- No


P son propiamentePpesos ya que
wi 6= 1. De hecho wi = 0.
rrespondientes.
Una vez prefijados los nodos, para determinar los pesos podemos
recurrir al método siguiente de coeficientes indeterminados.
Ejemplo 23.1. Supongamos que

f ′ (x) = Af (x − h) + Bf (x) + Cf (x + h);

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Derivación Numérica

dado que el polinomio de Taylor de f nos da:


1 1 1
f (x ± h) = f (x) ± f ′ (x)h + f ′′ (x)h2 ± f ′′′ (x)h3 + f ıv (ξ± )h4
2 6 24
(23.1)
Despejando f ′ (x) obtenemos
1
f ′ (x) = (A + B + C)f (x) + h(−A + C)f ′ (x) + h2 (A + C)f ′′ (x)
2
1 3 1
+ h (−A + C)f ′′′ (x) + h4 (Af ıv (ξ− ) + Cf ıv (ξ+ )).
6 24
Si identificamos coeficientes obtenemos el sistema
A+B+C =0
1
−A +C =
h
A + C = 0,

1
cuya solución es A = −C = − 2h , B = 0; por tanto
f (x + h) − f (x − h)
f ′ (x) ≈ = Dh f (x);
2h
h3
f ′ (x) − Dh f (x) = [f ıv (ξ− ) + f ıv (ξ+ )]
48

Ejemplo 23.2. Queremos deducir una derivada segunda de la forma


Dh2 f (x) = Af (x − 2h) + Bf (x − h) + Cf (x + h) + Df (x + 2h).
Para ello, junto con (23.1) utilizamos
4 2
f (t±2h) = f (t)±2hf ′ (t)+2h2 f ′′ (t)± h3 f ′′′ (t)+ h4 (f ıv (ζ1 )+f ıv (ζ2 ))
3 3
(23.2)
De ellas resulta que
h2
f ′′ (t) = (A+B+C+D)f (t)+h(−2A−B+C+2D)f ′ (t)+ (4A+B+C+4D)f ′′ (t)
2
h3 h4
+ (−8A−B+C+8D)f ′′′ (t)+ (16Af ıv (ζ− )+Bf ıv (ξ− )+Cf ıv (ξ+ )+16Df ıv (ζ+ ))
6 24
lo que da el sistema lineal
A+B+C + D =0
− 2A − B + C + 2D = 0
1
4A + B + C + 4D = 2
h
− 8A − B + C + 8D = 0

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Derivación Numérica

que resuelto proporciona


f (x − 2h) − f (x − h) − f (x + h) + f (x + 2h)
Dh2 f (x) =
3h2
con error
h2
− [16f ıv (ζ− ) − f ıv (ξ− ) − f ıv (ξ+ ) + 16f ıv (ζ+ )] .
72

24 Estabilidad Numérica
Si observamos todas las reglas de derivación numérica que hemos
deducido, veremos que consisten en un cociente de dos números
que cuando h (distancia entre nodos) tiende a cero es de la forma
0
0
. De ello resulta que cuando h es muy pequeño vamos a tener una
pérdida de significación en el numerador amplificada por la división
por hk . Esto hace que, dada una cierta precisión en los cálculos,
habrá un h óptimo que nos dará la precisión máxima en el cálculo
de la derivada numérica.
Supongamos que ε es la precisión relativa de nuestros cálculos (di-
gamos ε ≈ 10−16 , como ocurre con Matlab). Vamos a estudiar
qué sucede con la derivada numérica
f (x + h) − f (x − h)
Dh f (x) = .
2h
En su cálculo con la máquina tenemos

f˜(x + h) − f˜(x − h)
D̃h f (x) = ,
2h
donde f˜(x − h) = (1 + ε2 )f (x − h); f˜(x + h) = (1 + ε1 )f (x + h);
(|εi | ≤ ε, i = 1, 2), por tanto

ε1 f (x + h) − ε2 f (x − h)
D̃h f (x) − f ′ (x) = + Dh f (x) − f ′ (x);
2h
dado que |Dh f (x) − f ′ (x)| ≤ 61 h2 sup |f ′′ | resulta
ε
D̃h f (x) − f ′ (x) ≤ sup |f | + sup |f ′′ |

h
es decir
ε
E(h) = |D̃h f (x) − f ′ (x)| ≤ C1 + C2 h2
h
para buscar el E mı́nimo hacemos E ′ (h)
q = 0, es decir 2C2 h −
C1
C1 εh−2 = 0, que tiene solución h = 3 2C ε. Como esperamos
2

que tanto C1 como C2 tengan un valor ≪moderado≫, h ≈ C 3 ε (si
trabajamos con Matlab, h ≈ 10−5 ).

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Derivación Numérica

Ejemplo 24.1. Calculemos la derivada de la función f (x) = x4 en


el punto x = 2, cuyo valor sabemos que es 32, por medio de la
derivada numérica
f (x + h) − f (x − h)
Dh f (x) =
2h
para valores de h = 10−k , k = 1, . . . , 20. Según el apartado anterior
debemos esperar que el mejor resultado se produzca para k ≈ 5.
Matlab nos da los siguientes resultados, en los cuales hemos in-
cluido la tabla de errores:

h Df error
--------- --------------- --------------
1.00e-001 32.080000000000 0.080000000000
1.00e-002 32.000800000000 0.000800000000
1.00e-003 32.000007999996 0.000007999996
1.00e-004 32.000000080030 0.000000080030
1.00e-005 32.000000001009 0.000000001009
1.00e-006 32.000000000032 0.000000000032
1.00e-007 31.999999992038 0.000000007962
1.00e-008 31.999999894339 0.000000105661
1.00e-009 32.000002647692 0.000002647692
1.00e-010 32.000002647692 0.000002647692
1.00e-011 32.000002647692 0.000002647692
1.00e-012 32.002844818635 0.002844818635
1.00e-013 31.974423109205 0.025576890795
1.00e-014 32.329694477085 0.329694477085
1.00e-015 31.974423109205 0.025576890795
1.00e-016 0.000000000000 32.000000000000
1.00e-017 0.000000000000 32.000000000000
1.00e-018 0.000000000000 32.000000000000
1.00e-019 0.000000000000 32.000000000000
1.00e-020 0.000000000000 32.000000000000

Podemos observar que el menor error se produce para k = 6 (h = 10−6 ),


para el que este error es 3·10−11 , es decir, del orden de

10−16
C1 + C2 (10−6 )2 ≈ C·10−10 .
10−6

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Notas Calculo Numerico 6

Cálculo Numérico (Universidad Autónoma de Madrid)

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Laura Black (paulalourido1@gmail.com)
lOMoARcPSD|2722049

Sistemas Lineales
En el curso de Álgebra Lineal hemos estudiado métodos exactos
para resolver sistemas de ecuaciones lineales. Sin embargo hay dos
razones para analizar numéricamente las soluciones. La primera
de ellas es puramente calculı́stica: el número de operaciones y la
precisión de los cálculos acumulan errores que debemos tratar de
minimizar. La segunda es intrı́nseca de cada sistema: las solu-
ciones de algunos sistemas lineales varı́an considerablemente para
pequeñas variaciones en los datos. Esta segunda caracterı́stica tiene
gran importancia cuando los datos del sistema proceden de medi-
ciones fı́sicas, y por tanto llevan implı́cito un cierto grado de incer-
tidumbre. Será por tanto importante el conocer la sensibilidad de
la solución respecto de los datos en cada problema.
Ejemplo 17. Consideremos el sistema lineal

99′ 87x+ 12′ 35y = 2′ 35




7′ 231x+ 0′ 9936y = 1′ 12

que resolvemos por el método de eliminación de Gauss: Véase el ejemplo 19

. ! . !
99′ 87 12′ 35 .. 2′ 35 99′ 87 12′ 35 .. 2′ 35
. .
7′ 231 0′ 9936 .. 1′ 12 0 0′ 0994 .. 0′ 9499
. !
99′ 87 0 .. −115′ 7
.
0 0′ 0994 .. 0′ 9499
Obtenemos como solución: x = −1′ 16, y = 9′ 56.
Supongamos que los datos anteriores no se han medido con precisión
y se ha obtenido el sistema
100x+ 12y = 2′ 3


7x+ y = 1′ 1.
La solución es entonces x = −0′ 68, y = 5′ 87; muy diferente de la
anterior.
Vemos en este ejemplo los dos problemas con los que nos vamos
a enfrentar. Primeramente la inestabilidad de los cálculos. En
segundo lugar la dependencia de los datos. Ambos problemas suelen
aparecer juntos y dependen principalmente del sistema dado.
Ejemplo 18. Veamos ahora el otro problema que puede aparecer en
la resolución de sistemas lineales: cómo los errores de redondeo son
distintos según el orden de las operaciones. Los sistemas
 ′
0 57x+ 0′ 31y = 0′ 12

57x+ 31y = 12
y
27x+ 16y = 21 27x+ 16y = 21

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

son obviamente equivalentes. Si utilizamos el método de Gauss


para resolver el segundo sin mantener en las operaciones más de
tres cifras decimales obtenemos
. ! . !
0′ 57 0′ 31 .. 0′ 12 0′ 57 0 .. −3′ 23
. .
0 1′ 42 .. 15′ 32 0 1′ 42 .. 15′ 32

que da como solución x = −5′ 67, y = 10′ 79. La solución correcta


del sistema es x = −6′ 12, y = 11′ 64 que se obtiene por el método
de eliminación de Gauss si se opera directamente con la matriz
ampliada
. !
57 31 .. 12
.
27 16 .. 21

manteniendo dos cifras decimales durante los cálculos.

25 Métodos de resolución ya conocidos


Dado el sistema lineal
a11 x1 + a12 x2 + · · · + a1n xn = b1
a21 x1 + a22 x2 + · · · + a2n xn = b2
... ... ... ... ...
an1 x1 + an2 x2 + · · · + ann xn = bn

lo expresaremos en forma matricial como


    
a11 a12 . . . a1n x1 b1
 a21 a22 . . . a2n   x2   b2 
 ... ... ... ...  ...  =  ...
    

an1 an2 . . . ann xn bn

o bien Ax = b.
El que el sistema tenga solución y que ésta sea única depende de
los rangos de las matrices A y ampliada A|b: Teorema de Rouché–Frobenius

1. Si rango(A|b) = rango(A) el sistema es compatible (tiene


solución). Si rango(A) = n entonces la solución es única
(compatible determinado). Si rango(A) < n habrá infinitas
soluciones (compatible indeterminado).

2. Si rango(A|b) > rango(A) entonces el sistema es incompatible


(no tiene solución).

Un sistema de n ecuaciones y n incógnitas que tenga solución única


puede resolverse por medio de la Regla de Cramer. Sin embargo
este método resulta muy ineficiente. Para utilizarlo hay que calcular

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

n+1 determinantes n×n. Cada uno de estos determinantes requiere


n! productos de n factores cada uno (es decir n!(n − 1) productos
binarios) y n! − 1 sumas, y finalmente n cocientes. En total: n!(n −
1) + n productos y cocientes binarios, y n! − 1 sumas.
Un método más eficiente es el método de eliminación de Gauss que
el lector debe conocer (véase en cualquier caso el Ejemplo 19). Para
transformar el sistema en uno triangular realizamos el siguiente
número de operaciones. En los n − 1 primeros pasos hacemos n(n −
1) productos–cocientes y (n − 1)2 sumas; en los siguientes n − 2
pasos hacemos (n − 1)(n − 2) productos–cocientes y (n − 1)2 sumas;
etc.; de forma que el número de sumas y de productos hasta obtener
la forma triangular es de
n−1 n−1
X (n + 1)n(n − 1) X n(n − 1)(2n − 1)
(k + 1)k = k2 =
k=1
3 k=1
6
3
es decir, aproximadamente n3 cada una. Si comparamos estos va-
lores para varios n obtenemos:
n 2 3 4 10 20
Cramer 2 12 72 3 27 · 10 2 4 · 1018
′ 7 ′

Gauss 1 5 14 285 2470


A fin de observar las muy distintas magnitudes de estos números
supongamos que realizamos nuestro cálculo con una máquina que
efectúa 106 operaciones cada tres segundos; para n = 20 el método
de Gauss tardarı́a 10−3 segundos; el método de Cramer 230.000
años.
Ejemplo 19 (Método de eliminación de Gauss). Resolver el sistema
lineal

 2x+ y+ z = 1
4x+ y = −2
−2x+ 2y+ z = 7.

Utilizando la primera ecuación eliminamos la incógnita x de las


demás ecuaciones. A continuación con la nueva segunda ecuación
eliminamos la incógnita y de la tercera. Finalmente resolvemos por
sustitución.
 
 2x+ y+ z = 1  2x+ y+ z= 1
−y− 2z = −4 −y− 2z = −4
3y+ 2z = 8 −4z = −4
 

 x = 12 − 21 y − 12 z
 
 x = −1
y = 4 − 2y y = 2
z = 1 z = 1.
 

Todo el trabajo anterior puede hacerse con matrices, es decir escri-


biendo solamente los coeficientes.

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

Analizando la primera parte del trabajo podemos observar que des-


de el punto de vista matricial cada paso consiste en el producto por
la izquierda por una matriz regular, triangular inferior. Obsérvese
que si Eij = (akl ) con akl = δki δlj entonces (I + aEij )A es la matriz Delta de Kronecker: δij = 1 si i =
que se obtiene a partir de A añadiendo a la fila i, la fila j multipli- j; δij = 0 si i 6= j.
cada por a. Ası́ que la resolución del sistema consiste en realizar la
cadena de operaciones matriciales siguiente
   
x 1
(I+3E32 )(I+E31 )(I−2E21 )A  y  = (I+3E32 )(I+E31 )(I−2E21 )  −2 
z 7
que podemos escribir en forma abreviada
   
x 1
L−1 A  y  = L−1  −2 
z 7
donde
   
1 0 0 1 0 0 1 0 0
L−1 =  0 1 0   0 1 0   −2 1 0 
0 3 1 1 0 1 0 0 1

Si U = L−1 A, esta matriz es triangular superior, por tanto A = LU


es una descomposición de A como producto de una matriz trian-
gular inferior con unos en la diagonal (L) y una matriz triangu-
lar superior (U ) cuyos elementos diagonales son los utilizados en la
eliminación que, con abuso de lenguaje, suelen llamarse pivotes. La pivotes
matriz U puede escribirse como producto de una triangular supe-
rior con unos en la diagonal y una matriz diagonal cuyos elementos
son los pivotes.
A veces el proceso anterior no puede llevarse a cabo directamente
pues alguno de los pivotes puede ser cero. En ese caso debe inter-
cambiarse el orden de las filas (es decir, el orden de las ecuaciones)
para conseguir un pivote que no sea cero. Desde el punto de vista
del álgebra matricial este intercambio de filas corresponde a multi-
plicar por una matriz que se obtiene a partir de la matriz identidad
intercambiando las mismas dos filas.

26 Pivote parcial
Si en la aplicación del método de Gauss se utiliza un pivote muy
pequeño los errores de redondeo influyen en gran manera en el re-
sultado final.
Ejemplo 20. El sistema
2x + 31 y + 3z = 4
x + 16 y − 2z = 1
2x + 3y − z = 6

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

tiene solución x = 77/56 = 1′ 375, y = 66/56 = 1′ 179, z = 2/7 =


0′ 286. Si utilizamos para resolverlo el método del pivote con arit-
mética de punto flotante de 4 dı́gitos obtenemos x = 1′ 57, y = 0,
z = 0′ 286. El problema aparece al redondear 1/3 y 1/6 que no
resultan ser uno exactamente el doble del otro y por tanto un pi-
vote que tendrı́a que ser cero (y que nos obligarı́a a cambiar el or-
den de las ecuaciones) resulta ser 0′ 001 y se utiliza para eliminar el
coeficiente correspondiente de la siguiente ecuación multiplicándolo
por un número muy alto. Si antes de realizar esta operación se in-
tercambian las dos últimas ecuaciones forzando a utilizar un pivote
mucho más grande el resultado que se obtiene es x = 1′ 37, y = 1′ 18,
z = 0′ 286 (véase el Ejemplo 24).

27 Sensibilidad
Ejemplo 21.
    
1 1 x 1 x=1
=
1 1′ 1 y 1 y=0

1′ 1 x = 3′ 1
    
1 1 x
=
1 1′ 1 y 0′ 9 y = −2
0′ 9 x = −1′ 1
    
1 1 x
=
1 1′ 1 y 1′ 1 y = 2.
En el ejemplo anterior vemos que pequeñas variaciones en los datos
producen grandes variaciones en la solución. Queremos estudiar
métodos que nos permitan detectar a priori sistemas que presentan
estos problemas. Haremos el estudio cuando las variaciones ocurren
en el término independiente, como en el ejemplo.
Si Ax = b y A(x + δu) = b + εv entonces Aδu = εv es decir
δu = A−1 εv, donde u, v son vectores unitarios. Un cambio pequeño
de longitud ε en el dato b puede producir un cambio de longitud δ
en la solución cuyo tamaño depende de la matriz A−1 . Supongamos
que A tiene autovalores λ1 y λ2 (0 < λ1 < λ2 ), con autovectores
v1 , v2 . Entonces A−1 tiene autovalores 1/λ1 , 1/λ2 , con los mismos
autovectores. Por tanto, si v = v1 y δu1 = A−1 εv1 = ε λ11 v1 , el
cambio en la longitud de la solución será de λε1 .
Si la matriz A es simétrica sus autovalores son reales. Supongamos
que verifican 0 < |λ1 | ≤ |λ2 | ≤ · · · ≤ |λn |. Entonces kAxk ≤
|λn |kxk, donde kuk representa la longitud del vector u.
Por otra parte, si resolvemos Ay = b+εv, obtendremos y = x+δw
y por tanto A(δw) = εv o bien δw = εA−1 v.
Si A es simétrica, también lo será A−1 que tendrá por autovalores
1 1 1
, ,...,
λ1 λ2 λn

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

por tanto
1
kδwk = |ε|kA−1 vk ≤ |ε| kvk
|λ|
Entonces el error relativo será
|δ| |ε| |λn | |λn | |ε|
≤ = .
kxk |λ1 | kbk |λ1 | kbk
La acotación del error relativo en x por medio del error relativo
|λn |
en b viene multiplicada por el factor . Este número se deno-
|λ1 |
mina número de condición de la matriz A. Esta desviación en el número de condición
error relativo se alcanza cuando el vector b está en la dirección
del autoespacio correspondiente a λn y v está en la dirección del
autoespacio correspondiente a λ1 .
Si la matriz A no es simétrica el problema es más complicado.
Ejemplo 22.
 
1 10
A= tiene autovalor 1 doble sin embargo
0 1
        
1 10 x 10 x 0
= tiene por solución =
0 1 y 1 y 1
        
1 10 x 10 x 10
= tiene por solución =
0 1 y 0 y 0
El error relativo en b es
k(0, 1)k 1 1
=√ ≈
k(10, 1)k 101 10
mientras que el error relativo en (x, y) es
k(10, −1)k √
= 101 ≈ 10
k(0, 1)k
es decir, el error relativo se multiplica por 100.
Para analizar este tipo de problemas tenemos que comparar kAxk
con kxk. Denominamos norma de la matriz A al número norma

kAxk
kAk = sup ; donde o es el vector de longitud cero.
x6=o kxk

por definición ∀x, kAxk ≤ kAk kxk. Si Ax = b y A(x + δv) =


b + εu, entonces A(δv) = εu y δv = A−1 (εu). Por tanto, |δ| ≤
kA−1 k |ǫ| y resulta que
|δ| kA−1 k |ǫ| |δ| |ε|
≤ 1 es decir ≤ kA−1 k kAk .
kxk kbk kAk kxk kbk

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

El error relativo en b se multiplica por un número no mayor que


kAk kA−1 k. La dificultad estriba en calcular kAk.
Veamos un método.

2 kAxk2 xT AT Ax
kAk = sup 2
= sup T
= λmax (AT A)
kxk x x

donde el último número representa el mayor valor propio de la ma-


triz simétrica AT A. La matriz AT A no solamente tiene
todos sus valores reales sino que
Tenemos que calcular también kA−1 k. Por el mismo método obte- además son estrictamente posi-
nemos tivos, es decir, es definida positi-
va: Si λ es un autovalor de AT A
y x 6= o es un autovector aso-
1
kA−1 k2 = λmax ((A−1 )T A−1 ) = λmax ((AAT )−1 ) = . ciado a él entonces 0 < kAxk2 =
λmin (AAT ) (xT AT )(Ax) = xT (AT Ax) = λkxk2 .

Resulta que los autovalores de AAT son los mismos que los de AT A Si λ es un autovalor de AT A y x
es un autovector asociado a él,
y por tanto el número de condición buscado es entonces AAT (Ax) = A(AT Ax) =
s A(λx) = λAx, por tanto λ es un
autovalor de AAT y Ax es un au-
λmax (AAT )
kAkkA−1 k = tovector asociado a él.
λmin (AAT )

Ejemplo 23. En el Ejemplo 22


    
T 1 0 1 10 1 10
A A= =
10 1 0 1 10 101

por tanto (1−λ)(101−λ)−100 = 0 tiene por soluciones λ = 101′ 99


y λ = 1/101′ 99. Como los autovalores de A−1 son los inversos de
los anteriores, es decir los mismos, resulta que kA−1 k kAk ≈ 102,
que coincide con los resultados obtenidos en el Ejemplo 22.
¿Qué podemos decir acerca del cambio en x cuando las variaciones
se dan en A?. Sea B esta variación; medimos su tamaño por kBk
kBk
y en términos relativos por .
kAk
Si Ax = b y (A+B)(x+δv) = b entonces Aδv = −B(x+δv) y por
tanto δv = −A−1 B(x + δv). Ası́ kδvk ≤ k − A−1 k kBk kx + δvk;

kδvk kBk
≤ kA−1 k kBk = kA−1 k kAk .
kx + δvk kAk

kδvk |δ|
donde ≈ , error relativo en kx + δvk (recuérdese que
kx + δvk kxk
u y v son unitarios).
¿Cómo puede el cálculo estropear el número de condición de una
matriz?
Si tratamos de resolver el problema Ax = b por medio de la des-
composición A = LU de la matriz A en producto de una matriz
L, triangular inferior, y una matriz U , triangular superior, que se

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

ha explicado en la página 4, el problema queda dividido en dos:


primeramente la resolución de Ly = b, y después la resolución
del problema U x = L−1 b. En cada uno de estos pasos los errores
se podrán multiplicar hasta por los números de condición de las
matrices L y U . Veamos en un ejemplo que el producto de estos
dos números de condición es mayor que el número de condición de
la matriz A.
Ejemplo 24. Sea
 
1 1
A= .
1 1′ 1

Sus autovalores son 2′ 051 y 0′ 049 por tanto el número de condición


de la matriz es 41′ 86. La descomposición A = LU resulta
    
1 1 1 0 1 1
= .
1 1′ 1 1 1 0 0′ 1

Los autovalores de LT L son 2′ 618 y 0′ 382 y los de U T U son 2′ 005 y


0′ 005 por tanto kLk kL−1 k = 2′ 62 y kU k kU −1 k = 20. El producto
es 52′ 4.

28 Métodos iterativos
La dificultad de resolver un sistema lineal radica en que, esencial-
mente, tenemos que invertir una matriz. Una posible estrategia
para simplificar los cálculos consiste en sustituir la matriz a inver-
tir A por otra de fácil inversión y reescribir un sistema equivalente
que se resuelve de forma aproximada basándose en una solución
aproximada del sistema. El esquema es el siguiente:
Dado el sistema Ax = b escribimos la matriz A en la forma A =
S − P , donde la matriz S es de fácil inversión. Entonces podemos
reescribir el sistema como Sx = b + P x. Si x0 es una solución
aproximada buscamos la solución del sistema Sx = b + P x0 , de
fácil cálculo:

x = S −1 (b + P x0 ).

En realidad el resultado obtenido es una aproximación x1 de la


solución del sistema Ax = b. A partir de ella podemos repetir el
procedimiento y construir de forma iterativa la sucesión (xk ) que
esperamos converja a la solución del sistema. La regla iterativa será

xk+1 = S −1 (b + P xk ).

¿Qué hará falta para conseguir la convergencia? Si x es la solución


buscada, el error en el paso k + 1 se expresa

kxk+1 − xk = kS −1 P (xk − x)k ≤ kS −1 P kkxk − xk

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

y por tanto

kxk+1 − xk ≤ kS −1 P kk+1 kx0 − xk

por lo que si kS −1 P k < 1 el método converge independientemente


de la aproximación de partida x0 .
Esta es una condición suficiente para la convergencia, pero no es
necesaria. Otra condición suficiente es que el mayor autovalor (en
módulo) de la matriz S −1 P sea estrictamente menor que 1.
Veamos dos posibles elecciones de S y de P que dan lugar a dos
conocidos métodos iterativos

Método de Gauss–Jacobi

Consiste en despejar de la ecuación i-ésima la incógnita xi (x =


(x1 , x2 , . . . , xn )) lo cual es posible siempre que ningún elemento de
la diagonal de A sea nulo (∀k, akk 6= 0). En caso de que alguno lo
fuera permutarı́amos las ecuaciones hasta conseguir una diagonal
libre de ceros. Con el sistema escrito en esta forma utilizamos las
coordenadas de la aproximación xk en el lado derecho del sistema
para obtener las coordenadas de xk+1 en el lado izquierdo. Escrito
en coordenadas
1
xk+1
1 = (b1 − (a12 xk2 + a13 xk3 · · · + a1n xkn ))
a11
1
xk+1
2 = (b2 − (a21 xk1 + a23 xk3 + · · · + a2n xkn ))
a22
... ...
1
xk+1
n = (bn − (an1 xk1 + an2 xk2 ∗ + · · · + ann−1 xkn−1 )).
ann
(28.3)

La descomposición de A equivalente a este método consiste en


tomar como S la diagonal de A y entonces P = S − A está for-
mada por los elementos que no están sobre la diagonal (cambiados
de signo) en su posición y ceros en la diagonal.
Ejemplo 25. Resolución del sistema
    
8 2 0 x 8
 2 8 2   y  =  4 
0 2 8 z 8

por el método de Gauss-Jacobi:


       
8 0 0 x 8 0 2 0 x
 0 8 0  y  =  4  −  2 0 2  y 
0 0 8 z 8 0 2 0 z

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

0 41 0
      
x 1 x
 y  =  1  −  1 0 1  y 
2 4 4
z 1 0 14 0 z
Si arrancamos el método con el vector x0 = (0, 0, 0) sucesivas itera-
ciones nos dan
   3     7   63   
1 4
1 8 64
1
 1   0   1   0   0  que convergen a  0 .
2 4
3 7 63
1 4
1 8 64
1

Método de Gauss–Seidel

Si en el método de Gauss–Jacobi al calcular las coordenadas de


xk+1 a partir de las coordenadas de xk según las fórmulas (28.3)
utilizadas en el orden en que están escritas cambiamos en cada
una de ellas las coordenadas de xk por las coordenadas de xk+1
ya calculadas hasta ese momento obtenemos el método llamado de
Gauss–Seidel. Su expresión en términos de las coordenadas de los
dos vectores xk , xk+1 es la siguiente
1
xk+1
1 = (b1 − (a12 xk2 + a13 xk3 · · · + a1n xkn ))
a11
1
xk+1
2 = (b2 − (a21 xk+1
1 + a23 xk3 + · · · + a2n xkn ))
a22
...
1
xk+1
n = (bn − (an1 xk+1
1 + an2 xk+1 k2 + · · · + ann−1 xk+1
n−1 )).
ann

(28.4)

Para ver cual es su expresión en términos matriciales escribimos en


los primeros miembros de las ecuaciones las coordenadas ≪nuevas≫ y
en los segundos miembros las coordenadas ≪viejas≫

a11 xk+1
1 = b1 − (a12 xk2 + a13 xk3 · · · + a1n xkn )
a21 xk+1
1 + a22 xk+1
2 = b2 − (a23 xk3 + · · · + a2n xkn )
a31 xk+1
1 + a32 xk+1
2 + a33 xk+1
3 = b3 − (a34 xk4 + · · · + a3n xkn )
... ...
an1 xk+1
1 + an2 xk+1 k2 + · · · + ann−1 xk+1 k+1
n−1 + ann xn = bn .

de forma que la descomposición correspondiente de la matriz A


consiste en tomar como S la parte triangular inferior de la matriz
A, incluida la diagonal, y como matriz P la parte triangular superior
con ceros en la diagonal.

10

Descargado por Laura Black (paulalourido1@gmail.com)


lOMoARcPSD|2722049

Cálculo Numérico I Sistemas lineales

Ejemplo 26. Para el mismo sistema que en el Ejemplo 25, la de-


scomposición de Gauss-Seidel es

       
8 0 0 x 8 0 2 0 x
 2 8 0  y  =  4  −  0 0 2  y 
0 2 8 z 8 0 0 0 z

en el que tras invertir la primera matriz resulta


   1
0 41 0
      
x 8
0 0 1 x
 y = −1 1
0    1 
−  1 1 
0 4 y 
32 8 2 4
1 1 1 1
z 128
− 32 8 1 0 4 0 z

es decir
0 41 0
      
x 1 x
 y  =  41  −  0 − 1 1  y 
16 4
15 1 1
z 16 0 64 − 16 z

No merece la pena seguir haciendo el cálculo con fracciones. Es


mejor aproximar éstas y seguir el procedimiento en coma flotante.
Un pequeño programa en Matlab proporciona
x0 x1 x2 x3 x4 x5
1’0000 0’9375 0’9922 0’9990 0’9999 1’0000
0’2500 0’0313 0’0039 0’0005 0’0001 0’0000
0’9375 0’9922 0’9990 0’9999 1’0000 1’0000

11

Descargado por Laura Black (paulalourido1@gmail.com)

S-ar putea să vă placă și