Professional Documents
Culture Documents
1. Interpolación y aproximación
1. Escribir los polinomios de interpolación de Lagrange y de Newton para los siguientes
datos:
xi -2 0 1
f (xi ) 0 1 -1
Escribir ambos polinomios en la forma a+bx+cx2 con el fin de verificar que son idénticos.
SOLUCIÓN:
Método de Lagrange:
Construimos los polinomios de Lagrange, `i (x), i = 0, 1, 2.
(x − x1 )(x − x2 ) (x − 0)(x − 1) 1
`0 (x) = = = x (x − 1)
(x0 − x1 )(x0 − x2 ) (−2 − 0)(−2 − 1) 6
(x − x0 )(x − x2 ) (x + 2)(x − 1) 1
`1 (x) = = = − (x + 2) (x − 1)
(x1 − x0 )(x1 − x2 ) (0 + 2)(0 − 1) 2
(x − x0 )(x − x1 ) (x + 2)(x − 0) 1
`2 (x) = = = (x + 2) x
(x2 − x0 )(x2 − x1 ) (1 + 2)(1 − 0) 3
2
X
p2 (x) = f (xi )`i (x) = f (x0 )`0 (x) + f (x1 )`1 (x) + f (x2 )`2 (x)
i=0
1 1 1
= 0 x (x − 1) + 1 − (x + 2)(x − 1) − 1 (x + 2) x
6 2 3
1 1 7 5 2
= − (x + 2)(x − 1) − (x + 2)x = 1 − x − x
2 3 6 6
Método de Newton:
Escribimos el polinomio de interpolación en la forma
2. Determinar un polinomio p(x) = ax6 + bx4 + cx2 + d que satisfaga los siguientes datos
p(0) = 2 , p(−1) = 8 , p00 (0) = −2 , p00 (−1) = 8 .
SOLUCIÓN:
p(x) = a x6 + b x4 + c x2 + d
p0 (x) = 6a x5 + 4b x3 + 2c x
p00 (x) = 30a x4 + 12b x2 + 2c
Al imponer las condiciones de interpolación se tiene
p(0) = 2 ⇒ d=2
p(−1) = 8 ⇒ a+b+c+d=8
00
p (0) = 2 ⇒ 2c = 2
00
p (−1) = 8 ⇒ 30a + 12b + 2c = 8
Resolviendo el sistema anterior obtenemos
37 100
a=− , b= , c = −1, d = 2.
9 9
El polinomio pedido será
37 6 100 4
p(x) = − x + x − x2 + 2.
6 9
(b) Si se efectúa una nueva medición que indica que a 3.5 pulgadas el nivel de dosis
correspondiente es de 20 98, ¿cuál será ahora la estimación para el nivel de dosis en
2.5 pulgadas?
SOLUCIÓN:
(a) Calculamos el polinomio de interpolación para los datos de la tabla anterior. Utilizamos el
método de Newton.
xi f (xi )
1.0 2.71
0.54
1.5 2.98 -0.1
0.44 -0.29/3
2.0 3.20 -0.44/1.5
0
3.0 3.20
El polinomio de interpolación vendrá dado por
0.29
p3 (x) = 2.71 + 0.54(x − 1) − 0.1(x − 1)(x − 1.5) − (x − 1)(x − 1.5)(x − 2).
3
Ahora podemos estimar la dosis de radiación para x = 2.5 evaluando el polinomio de
interpolación en ese punto.
0.29
p3 (2.5) = 2.71 + 0.54(1.5) − 0.1(1.5)(1) − (1.5)(0.5) = 3.2975.
3
(b) Observemos que ahora disponemos de un dato más de interpolación. Una forma de obtener
el nuevo polinomio de interpolación es añadir este dato a nuestra tabla de diferencias divi-
didas y completarla.
xi f (xi )
1.0 2.71
0.54
1.5 2.98 -0.1
0.44 -0.29/3
2.0 3.20 -0.44/1.5 0.29/7.5
0 0
3.0 3.20 -0.44/1.5
-0.44
3.5 2.98
El nuevo polinomio de interpolación será
p4 (x) = 2.71 + 0.54(x − 1) − 0.1(x − 1)(x − 1.5) −
0.29
(x − 1)(x − 1.5)(x − 2) +
3
0.29
(x − 1)(x − 1.5)(x − 2)(x − 3).
7.5
La estimación del nivel de radiación para x = 2.5 será ahora
0.29
p4 (2.5) = 3.2975 + (1.5)(0.5)(−0.5) = 3.283
7.5
4 1. PROBLEMAS RESUELTOS DE CÁLCULO NUMÉRICO
E 40 60 80 100 120
P 0.63 1.36 2.18 3.00 3.93
donde E son los voltios y P los kilovatios en una curva de pérdida en el núcleo para un
motor eléctrico.
(a) Elaborar una tabla de diferencias divididas
(b) Calcular el polinomio de interpolación de Newton de segundo grado para E =
80, 100, 120. Utilizarlo para estimar el valor de P correspondiente a E = 90 voltios.
SOLUCIÓN:
(a) Calculamos la tabla de diferencias divididas
xi f (xi )
40 0.63
0.0365
60 1.36 0.0001125
0.041 -0.000001875
80 2.18 0 0.0000000521
0.041 0.00002292
100 3.00 0.0001375
0.0465
120 3.93
(b) En la tabla anterior hemos marcado los coeficientes del polinomio de interpolación para
E = 80, 100, 120. El polinomio será
5. Una función f (x) de la que solamente se conocen los datos de la tabla que figura a con-
tinuación, alcanza un máximo en el intervalo [1, 1.3]. Hallar la abscisa de dicho máximo.
xi 1.0 1.1 1.2 1.3
f (xi ) 0.841 0.891 0.993 1.000
Interpreta los resultados.
SOLUCIÓN:
La solución de este problema pasa necesariamente por determinar una función que interpole o
aproxime los datos anteriores. A continuación calculamos el punto donde esta función alcance
su máximo o su mı́nimo. Por tanto, una primera estrategia puede ser calcular el polinomio de
interpolación.
1. INTERPOLACIÓN Y APROXIMACIÓN 5
xi f (xi )
1.0 0.841
0.5
1.1 0.891 2.6
1.02 -24.5
1.2 0.993 -4.75
0.07
1.3 1.00
El polinomio de interpolación será
p(x) = 0.841 + 0.5(x − 1) + 2.6(x − 1)(x − 1.1) − 24.5(x − 1)(x − 1.1)(x − 1.2)
= 35.541 − 93.65x + 83.45x2 − 24.5x3
Calculamos los puntos crı́ticos
x = 1.25754
p0 (x) = 0 ⇒ −73.5x2 + 166.9x − 93.65 = 0 ⇒
x = 1.01321
Para precisar si hay máximo o mı́nimo recurrimos a la segunda derivada.
00
00 p (1.25754) = −17.95838 < 0 ⇒ máx. relativo
p (x) = −147x + 166.9 ⇒
p00 (1.01321) = 17.95813 > 0 ⇒ mı́n. relativo
Puesto que
p(1.25754) = 1.018062648073915
deducimos que la función p(x) alcanza su máximo absoluto en el intervalo [1, 1.3] en el punto de
abscisa x = 1.25754.
Otra forma de abordar este problema serı́a utilizando interpolación lineal a trozos. De acuerdo
con este nuevo modelo y observando los datos de la tabla anterior concluirı́amos que la función
f (x) alcanzarı́a su máximo absoluto en x = 1.30.
7. Aproximar mediante los mı́nimos cuadrados un polinomio de grado dos a los siguientes
datos
xi 1 2 4 10 16
yi 6 1 2 4 5
SOLUCIÓN:
Se trata de ajustar una función del tipo
y = a + b x + c x2
al conjunto de datos (xi , yi ).
Matricialmente el sistema que tenemos que resolver vendrá dado por
5
X 5 X5 X5 X
2 yi
1 xi xi
i=1 i=1 i=1 i=1
a
5 5 5
5
X X X X
2 3
xi xi xi b = xi yi
i=1
c
i=1 i=1 i=1
5 5 5
X X X X 5
2 3 4
x x x x2i yi
i i i
i=1 i=1 i=1 i=1
SOLUCIÓN:
Pretendemos ajustar una función del tipo
p = a ebt .
Se trata de un modelo de aproximación no lineal. Tomando logaritmos y denotando P = ln p y
A = ln a se llega al modelo lineal
ln p = ln a ebt = ln a + b t ⇒ P = A + b t.
Ahora nuestro objetivo será ajustar una función del tipo P = A + b t al conjunto de datos (ti , Pi ).
Matricialmente el sistema que tenemos que resolver será
5 5 5
X X X
1 ti ! Pi
i=1 i=1
A i=1
5 5
= 6
X X b X
t2i
ti t i Pi
i=1 i=1 i=1
Puesto que f es una función continua, el teorema de Bolzano nos garantiza la existencia de al
menos una solución en el intervalo (0, 1). Además se tiene que
f (xn )
xn+1 = xn − , n ≥ 0.
f 0 (xn )
Elegimos como punto de arranque un x0 ∈ [0, 1] tal que f (x0 )f 00 (x0 ) > 0. En este caso, puesto
que
f 00 (x) = ex − 2e−x ,
x0 = 0
f (x0 ) f (0) −1
x1 = x0 − =0− 0 =− = 0.33333
f 0 (x0 ) f (0) 3
f (x1 ) f (0.33333)
x2 = x1 − 0 = 0.33333 − 0 = 0.34654
f (x1 ) f (0.33333)
f (x2 ) f (0.34654)
x3 = x2 − 0 = 0.34654 − 0 = 0.34657
f (x2 ) f (0.34654)
En este caso, podemos resolver algebraicamente la ecuación para obtener la solución exacta.
1
ex − 2e−x = 0 ⇒ e2x − 2 = 0 ⇒ x= ln 2 = 0.346573590279972
2
11. Aproximar mediante el método de la regula falsi la raı́z de la ecuación
x3 − 2x2 − 5 = 0
la función f es convexa en [1, 4]. Esto nos asegura que hay solución única en [1, 4] y que el método
de regula falsi es convergente. Generamos las aproximaciones
f (an )(bn − an )
xn = a n − , n = 0, 1, · · ·
f (bn ) − f (an )
10 1. PROBLEMAS RESUELTOS DE CÁLCULO NUMÉRICO
partiendo de a0 = 1, b0 = 4. Los valores an y bn se eligen en cada paso de forma que f (an )f (bn ) <
0. Los cálculos realizados se recogen en la siguiente tabla.
n an bn xn f (an ) f (bn ) f (xn )
0 1.0000 4.0 1.5454 -6.0000 27.0 -6.0856
1 1.5454 4.0 1.9969 -6.0856 27.0 -5.0122
2 1.9969 4.0 2.3105 -5.0122 27.0 -3.3420
3 2.3105 4.0 2.4966 -3.3420 27.0 -1.9043
4 2.4966 4.0 2.5957 -1.9043 27.0 -0.98648
5 2.5957 4.0 2.6452 -0.98648 27.0 -0.48559
La solución vendrá dada por
x ' 2.6452
Observación: Si nos fijamos en la tabla anterior se observa que en cualquier iteración, bn = b0
y an+1 = xn . Esta situación se podı́a haber previsto inicialmente por la convexidad de la función
f . De esta forma las aproximaciones se podrı́an calcular directamente a partir de la fórmula
f (xn−1 )(b − xn−1 )
xn = xn−1 − , n = 0, 1, · · ·
f (b) − f (xn−1 )
tomando x−1 = a0 = 1. √
3
12. Encontrar un valor aproximado de 2 mediante el método de bisección y el método de la
secante.
SOLUCIÓN:
Consideramos la función f (x) = x3 − 2 y buscamos un intervalo donde haya alternancia de signo
f (1) = −1 , f (1.5) = 1.375
El teorema de Bolzano nos garantiza la existencia de al menos una solución en el intervalo [1, 1.5].
Además, puesto que
f 0 (x) = 3x2 6= 0 , ∀x ∈ [1, 1.5]
la solución será única.
Método de bisección: Partiendo de a0 = 1, b0 = 1.5 generamos las aproximaciones
an + bn
xn =
2
donde an y bn se eligen de forma que en cualquier iteración se cumpla que f (an )f (bn ) < 0. Los
cálculos efectuados se recogen en la siguiente tabla
n an bn xn f (an ) f (bn ) f (xn )
0 1.0 1.5 1.25 -1.000 1.375 -0.046
1 1.25 1.5 1.375 -0.046 1.375 0.599
2 1.25 1.375 1.3125 -0.046 0.599 0.260
3 1.25 1.3125 1.28125 -0.046 0.260 0.103
4 1.25 1.28125 1.265625 -0.046 0.103 0.0272
5 1.25 1.265625 1.2578125 -0.046 0.027 -0.01
6 1.2578125 1.265625 1.26171875 -0.010 0.027 0.008
7 1.2578125 1.26171875 1.259765625 -0.010 0.008 -0.0007
8 1.259765625 1.26171875 1.2607421875 -0.0007 0.008 0.003
9 1.259765625 1.2607421875 1.26025390625 -0.0007 0.003 0.001
10 1.259765625 1.26025390625 1.260009765625 -0.0007 0.001 0.0004
2. RESOLUCIÓN NUMÉRICA DE ECUACIONES 11
x ' 1.260009765625
x0 = 1
x1 = 1.5
f (x1 )(x1 − x0 )
x2 = x1 − = 1.2105263157894736842
f (x1 ) − f (x0 )
f (x2 )(x2 − x1 )
x3 = x2 − = 1.2514085388756729685
f (x2 ) − f (x1 )
f (x3 )(x3 − x2 )
x4 = x3 − = 1.2602652758390120360
f (x3 ) − f (x2 )
f (x4 )(x4 − x3 )
x5 = x4 − = 1.2599187140887994992
f (x4 ) − f (x3 )
f (x5 )(x5 − x4 )
x6 = x5 − = 1.2599210492568176179
f (x5 ) − f (x4 )
La solución aproximada obtenida al realizar 5 iteraciones con el método de la secante viene dada
por
x ' 1.2599210492568176179
ln x − x + 2 = 0
1
f 0 (x) = − 1 6= 0 , ∀x ∈ [3, 4],
x
lo que nos asegura que hay solución única en el intervalo [3, 4].
Generamos las aproximaciones de la solución mediante el algoritmo
f (xn )
xn+1 = xn − , n = 0, 1, · · ·
f 0 (xn )
12 1. PROBLEMAS RESUELTOS DE CÁLCULO NUMÉRICO
partiendo de un punto inicial x0 ∈ [3, 4] tal que f (x0 )f 00 (x0 ) > 0. Puesto que f 00 (x) = −1/x2
podemos tomar como punto de arranque x0 = 4.
x0 = 4
f (x0 ) f (4)
x1 = x0 − =4− 0 = 3.181725815
f 0 (x0 ) f (4)
f (x1 ) f (3.181725815)
x2 = x1 − 0 = 3.181725815 − 0 = 3.146284844
f (x1 ) f (3.181725815)
f (x2 ) f (3.146284844)
x3 = x2 − 0 = 3.146284844 − 0 = 3.146193221
f (x2 ) f (3.146284844)
y 000 + y 00 − 3y 0 − y = 0.
SOLUCIÓN:
El conjunto fundamental de soluciones de la ecuación diferencial anterior se obtiene resolviendo
la ecuación caracterı́stica
r3 + r2 − 3r − 1 = 0.
Dado que la ecuación es polinómica de grado impar sabemos que tiene al menos una solución
real. Las posibles soluciones racionales de esta ecuación son ±1. La comprobación mediante la
regla de Ruffini nos revela que ninguna de ellas es solución. Hemos de buscar, por tanto, raı́ces
irracionales. En este caso, la regla de Ruffini no es operativa. Afortunadamente podemos obtener
una solución aproximada utilizando el método de Newton-Raphson.
Comenzamos definiendo la función f (r) = r3 + r2 − 3r − 1 y buscamos un intervalo donde haya
alternancia de signo.
f (1) = −2 , f (2) = 5
Tenemos, por tanto, asegurada la existencia de solución en el intervalo [1, 2]. Además,
f 0 (r) = 3r2 + 2r − 3
cuyas raı́ces son −1.38742588672 y 0.72075922005, por lo que f 0 (x) 6= 0, ∀x ∈ [1, 2]. Esto nos
garantiza que la solución en [1, 2] es única. Generamos las aproximaciones
f (rn )
rn+1 = rn − , n = 0, 1, · · ·
f 0 (rn )
Ahora podemos estimar el valor de f 00 (3.7) evaluando p00 (3.7). En nuestro caso,
p0 (x) = 1.03148 + 0.677431 x − 0.173838 x2 + 0.05191 x3
p00 (x) = 0.677431 − 0.347656 x + 0.0455729 x2
Luego,
f 00 (3.7) ' 0.677431 − 0.347656 (3.7) + 0.0455729 (3.7)2 = 0.0149917
17. Dado un circuito con un voltaje V (t), una inductancia L y una resistencia R, la primera
ley de Kirchoff que lo modela es
dI
V =L
+ RI.
dt
La siguiente tabla recoge los valores experimentales de I correspondientes a varios tiempos
t dados en segundos.
Si la inductancia L es constante e igual a 0.97 henrios y la resistencia R es de 0.14
ohmios, aproximar el voltaje V cuando t = 0.97.
t 0.95 0.96 0.97 0.98 0.99 1.0
I 0.90 1.92 2.54 2.88 3.04 3.10
SOLUCIÓN:
Dado que conocemos I(0.97) = 2.54, el problema se reduce a calcular I 0 (0.97). Para ello calculamos
el polinomio de interpolación p(t) para el conjunto de datos de la tabla anterior. La derivada de
este polinomio para t = 0.97 nos dará una estimación de I 0 (0.97).
ti Ii
0.95 0.90
102
0.96 1.92 -2000
62 2000
0.97 2.54 -1400 -250000/3
34 50000/3 0
0.98 2.88 -900 -250000/3
16 40000/3
0.99 30.4 -500
6
1.00 3.10
El polinomio de interpolación vendrá dado por
p(t) = 0.90 + 102(t − 0.95) − 2000(t − 0.95)(t − 0.96) +
20000(t − 0.95)(t − 0.96)(t − 0.97) −
250000
(t − 0.95)(t − 0.96)(t − 0.97)(t − 0.98)
3
250000 4
= −91858.4 + 358719.83 t − 525191.67 t2 + 341666.67 t3 − t .
3
Luego,
p0 (t) = 358719.83 − 1050383.33 t + 1025000 t2 − 333333.33 t3
Evaluando en t = 0.97 se tiene
I 0 (0.97) ' p0 (0.97) = 358719.83 − 1050383.33 (0.97) + 1025000 (0.97)2 −
333333.33 (0.97)3 = 46.1667
16 1. PROBLEMAS RESUELTOS DE CÁLCULO NUMÉRICO
Por tanto,
V (0.97) = 0.97 I 0 (0.97) + 0.14 I(0.97) = 0.97(46.1667) + 0.14(2.54) = 45.1373
18. Utilizar la fórmulas usuales de derivación numérica para calcular un valor aproximado de
la derivada de la función f (x) = (1 + x)ex en el punto x = 0.6 para h = 0.1, 0.01, 0.001.
Comparar los resultados obtenidos con el valor exacto.
SOLUCIÓN:
En nuestro caso se tiene que
f 0 (x) = ex + (1 + x)ex = (2 + x)ex .
Por tanto,
f 0 (0.6) = (2 + 0.6)e0.6 = 4.737508881015323
Al aplicar la fórmulas de derivación numérica se obtiene
f (0.6 + h) − f (0.6)
f 0 (0.6) '
h
f (0.6 + h) − f (0.6 − h)
f 0 (0.6) '
2h
1 1
La recta buscada vendrá dada por y(x) = − x. Por lo tanto,
2 2
Z 3 Z 3 Z 3
1 1 3
f (x)dx ' y(x)dx = − x dx = −
0 0 0 2 2 4
(c) Podemos dividir el intervalo [0, 3] en 3 subintervalos utilizando los puntos 0, 1, 2, 3. Apli-
camos sobre cada uno de ellos la regla del trapecio.
Z 3 Z 1 Z 2 Z 3
f (x)dx = f (x)dx + f (x)dx + f (x)dx
0 0 1 2
1 1 1
' (f (0) + f (1)) + (f (1) + f (2)) + (f (2) + f (3))
2 2 2
1 1
= (f (0) + 2f (1) + 2f (2) + f (3)) = (2 − 4 − 2 + 0) = −2
2 2
Aplicar la fórmula del trapecio compuesta equivale a calcular la integral de la poligonal que
pasa por los puntos (xi , f (xi )).
Observemos que los resultados obtenidos son bastante dispares dependiendo del método que hemos
elegido. ¿Cuál es el valor más exacto?. Para dar respuesta a esta pregunta necesitarı́amos conocer
información adicional sobre la función f o sobre la naturaleza de los datos que estamos manejando.
π
π−0h
Z π i π 2π
(a) sen x dx ' f (0) + 4f + f (π) = [0 + 4 · 1 + 0] =
0 6 2 6 3
xi f (xi )
0 0
2/π
π/2 1 −4/π 2
−2/π
π 0
2 4 π 4
p(x) = x − 2x x − = − 2 x(x − π).
π π 2 π
Luego,
π π π
4 x3 x2
Z Z
4 2π
sen x dx ' − x(x − π) dx = − − π =
0 0 π2 π2 3 2 0 3
No es casualidad la coincidencia de resultados en los apartados (a) y (b), puesto que la fórmula
de Simpson,
b
b−a
Z
a+b
f (x)dx = f (a) + 4f + f (b) ,
a 6 2
1
2 −0 1 − 12
1 1 1 3
f (0) + 4f +f + f + 4f + f (1) =
6 4 2 6 2 4
1 1 1 3
f (0) + 4f + 2f + 4f + f (1) =
12 4 2 4
1
[1 + 4(0.877583) + 2(0.760244) + 4(0.647860) + 0.54302] = 0.763547
12
En este caso podemos calcular el valor exacto de la integral. En efecto, efectuando el cambio de
variable x = t2 se obtiene:
Z 1 Z 1
√ x = t2 u = 2t ⇒ du = 2 dt
cos x dx = = 2t cos t dt =
0 dx = 2t dt 0 dv = cos t dt ⇒ v = sen t
1
= [2t sen t + 2 cos t]0 = 2 sen 1 + 2 cos 1 − 2 = 0.763547.
Al imponer la condición inicial, y(0) = 1, se obtiene c = −1. La solución será, por tanto,
1
y(x) = .
1−x
Tomando la función f (x, y) = y 2 , el método de Runge-Kutta genera las siguientes aproximaciones
h
yk+1 = yk + (K1 + 2K2 + 2K3 + K4 ) , k = 0, 1, · · ·
6
donde
K1 = f (xk , yk )
1 1
K2 = f xk + h, yk + h K1
2 2
1 1
K3 = f xk + h, yk + h K2
2 2
K4 = f (xk + h, yk + h K3 )
partiendo de y0 = y(0) = 1 y tomando xk = k h.
Los resultados se recogen en la siguiente tabla
k xk K1 K2 K3 K4 yk y(xk ) |yk − y(xk )|
0 0 1. 1. 0
1 0.1 1.0 1.1025 1.1133 1.2350 1.11111049 1.11111111 0.621×10−6
2 0.2 1.2345 1.3755 1.3921 1.5633 1.24999799 1.25 0.201×10−5
3 0.3 1.5625 1.7639 1.7907 2.0422 1.42856618 1.42857142 0.523×10−5
4 0.4 2.0408 2.3428 2.3892 2.7805 1.66665326 1.66666667 0.00001341
5 0.5 2.7777 3.26 3.3476 4.0057 1.99996326 2. 0.00003674