You are on page 1of 12

PECs de Física Computacional II Grado en

Física, UNED Curso 2017/18
 PEC del Tema 3


Importante: Esta prueba pertenece a la modalidad de evaluación
continua. Al pre- sentar esta prueba el estudiante acepta participar
en la modalidad de evaluación continua con todas las
consecuencias que ello implica. Para más detalles sobre las
modalidades de evaluación, consulte la guía del curso.

Recomendaciones para la realización y la entrega de las


Pruebas de Evaluación Continua (PECs)
Consulte en las preguntas frecuentes del curso virtual las
indicaciones dadas sobre las Pruebas de la Evaluación Continua.
Forma de entrega de la memoria: Redacte un escrito usando (en la
medida de lo posible) algún procesador de texto. Entregue en el
curso virtual el documento en formato PDF, dentro de la
herramienta ‘‘Entrega de trabajos”, nombrando al fichero como
Apellido1-Apellido2-InicialdelNombre.pdf
Contenido de la memoria: Dé respuesta a las cuestiones
planteadas incluyendo explicaciones detalladas, razonamientos y
desarrollos. En la resolución de las PECs se deberán utilizar los
métodos numéricos estudiados en la asignatura. Los cálculos
pueden simplificarse realizando pequeños programas informáti-
cos. En ese sentido, se recomienda aprovechar los conocimientos
de Física Computacional I y ejercitarse con la programación. En
el caso de que así sea, los listados de los códigos deberán
adjuntarse al final de la memoria como apéndices. No se
admitirán como válidas soluciones obtenidas con programas de
lenguaje simbólico o similares en los que el alumno haya
utilizado funciones propias del programa. Por ejemplo, si se debe
resolver un sistema de ecuacio- nes, una integral, una derivada,
etc., debe plantearse un método de solución del problema
concreto basado en alguna de las técnicas estudiadas en el curso y
no calcularse la solución usando alguna función propia o
comando de dichos programas. No obstante, se puede hacer uso
de programas de cálculo simbó- lico como comprobación de la
resolución personal y adjuntarse también en la memoria como
anexos.

Enunciado de la PEC3, Curso 2017/18


Una tabla para datación por carbono 14 relaciona la cantidad del
isótopo 14C y del isótopo 12C encontrada en distintas muestras en
función de su antigüedad.
N14 C
i N12 C Antigüedad (años)

0 0.78 2053.9413
1 0.80 1844.6480
2 0.82 1640.5230
3 0.84 1441.3171
4 0.86 1246.7989
5 0.88 1056.7528
6 0.90 870.9777
7 0.92 689.2859
Se quiere estimar la edad de una muestra en la que la proporción
N14C
es 0.8705 N12 C
a partir de los datos mostrados en la tabla anterior.
a) Determine
su edad utilizando un polinomio de interpolación de Lagrange de
orden 2, usando los puntos i = 3, 4 y 5 de la tabla. Repita el
cálculo usando los puntos i = 4, 5 y 6. Comente las diferencias
encontradas.
b) Determine ahora su edad utilizando un polinomio de
interpolación cúbico hacia adelante con punto de partida el dato
correspondiente a i = 2. Repita la estimación del valor usando otro
polinomio de interpolación cúbico hacia adelante con punto de
partida i = 3.
Sabemos que la antigüedad t de la muestra se puede ajustar a la
fórmula
t1 2

􏰀 􏰀
N14C 12
t = −ln

ln (2)
donde t1 = 5730 años es el periodo de semidesintegración


del carbono 14.
2

c) Estime el error absoluto cometido con las 4 aproximaciones


obtenidas en los apartados a) y b). Discuta los órdenes de
magnitud de los errores calculados.
d) Estime el error cometido con las aproximaciones del apartado
b) usando la regla del término siguiente.
e) Se define el error de una interpolación como
n
E(x)= (x−xi)
f(n+1)(ξ) 􏰀 (n+1)!
i=0

donde n es el grado del poliniomio interpolante, f(n+1) la derivada


n+1 de la función y ξ pertenece al intervalo que contiene todos los
puntos utilizados. Represente gráficamente, en el intervalo
adecuado y para las aproximaciones del apartado b), las funciones
de error dadas por la fórmula anterior usando aquellos valores de
ξ que, dentro del intervalo considerado, la maximizan y la
minimizan. Discuta los órdenes de magnitud de los errores
calculados en los apartados c) y d) para los polinomios
interpolantes cúbicos, en particular, razone cómo influye en el
error la elección de unos datos u otros para interpolar. Indique si
estos errores, para x = 0.8705, se encuentran entre los valores
máximo y mínimo calculados usando la expresión E(x).
SOLUCIONES

CUESTIONES

a) El polinomio de Lagrange de orden n viene dado por :


𝑥−𝑥𝑖
P(x) = ∑𝑛𝑗=0 𝑓 (xj)∏𝑛𝑖=0,𝑖≠𝑗 𝑥𝑗−𝑥𝑖
Para estimar la edad que se pide de una muestra primero nos piden usar el
polinomio de orden 2 con los datos de la tabla i = 3, 4, 5 . En este caso los valores
que se usan para el polinomio son :

Tabla 1: i xi f(xi)
0 0.84 1441.3171
1 0.86 1246.7989
2 0.88 1056.7528

En el apéndice se puede ver como con ayuda de Maxima se simplifica el


polinomio que le he llamado Pa(x):
Pa(x) = 5590.1250 x2 – 19229.1225 x + 13649.3878

Evaluando el polinomio con Maxima para la variable 0.8705 se obtiene el


resultado,
Pa(0.8705) = 1146.4671

En conclusión, mediante la interpolación de Lagrange usando un polinomio de


orden 2 y usando estos datos de la tabla, se estima la edad de la muestra en
1146.4671 años.

Ahora se repite el proceso pero usando los puntos i=4,5,6 del enunciado. Los
valores para elaborar el polinomio de interpolación son:

Tabla 2: i xi f(xi)
0 0.86 1246.7989
1 0.88 1056.7528
2 0.90 870.9777

De nuevo en el apéndice se puede ver como se define en Maxima el polinomio


Pb(x) con los datos de la tabla, obteniendo:
Pb(x) = 5338.7500 x2 – 18791.7300 x + 13459.1472

Se evalúa el polinomio en 0.8705 con Maxima y nos da el resultado:


Pb(x) = 1146.4922

La estimación de la edad de la muestra mediante el polinomio de Lagrange de


orden 2 usando los datos de la Tabla 2 es de 1146.4922 años.

La estimación de la edad de la muestra mediante estos dos polinomios de orden


2 es parecida, aunque existe una apreciable diferencia entre los dos de 0.0251
años.

b) Ahora se hará la estimación con un polinomio de interpolación cúbico para dos


tablas de datos diferentes. Para la obtención de un polinomio de grado 3 se
necesitan 4 pares de datos.

La primera tabla de datos será:

Tabla 3: i xi f(xi)
0 0.82 1640.5230
1 0.84 1441.3171
2 0.86 1246.7989
3 0.88 1056.7528

Se obtiene el polinomio Pc(x) introduciendo los datos de la tabla en Maxima


conforme a la fórmula para elaborar el polinomio de Lagrange de orden 3, ver
apéndice:
Pc(x) = -4491.666667 x3 + 17178.625000 x2 – 29193.435833 x + 16504.794200

Y evaluando el polinomio en 0.8705 con Maxima nos da:


Pc(0.8705) = 1146.4807

La edad estimada de la muestra es de 1146.4807 años, usando un polinomio de


interpolación de grado 3 y con esta tabla de datos.

Se repite el proceso para la siguiente tabla de datos:

Tabla 4: i xi f(xi)
0 0.84 1441.3171
1 0.86 1246.7989
2 0.88 1056.7528
3 0.90 870.9777

El polinomio obtenido tras poner los valores en Maxima es:


Pd(x) = -4189.583333 x3 + 16399.249999 x2 - 28523.294166 x + 16312.756199

Evaluando el polinomio en 0.8705 con Maxima nos devuelve el valor:


Pd(0.8705) = 1146.4798

En este caso la edad estimada para la muestra mediante un polinomio de


interpolación cúbico y con estos datos es de 1146.4798 años.
La diferencia en la estimación entre los dos polinomios cúbicos es de 0.0009
años, muchísimo menor que la calculada entre los polinomios de orden 2 del
apartado anterior.
Ya redondeando el resultado a los dos primeros decimales, las dos estimaciones
para los polinomio cúbicos se sitúan en 1146.48 años, justo a medio camino para
las estimaciones mediante los polinomios de orden 2, donde una era de 1146.47
años y la otra era de 1146.49 .

c) Ahora se conoce la fórmula que relaciona “la relación entre la cantidad de 14C y
12C de una muestra” y “antigüedad en años de dicha muestra”. Llamando x a la

relación 14C /12C y f(x) a los años de antigüedad se puede escribir la fórmula de la
siguiente manera:
5730
f(x) = - ln 2 ln 𝑥

Para hallar el error absoluto de las estimaciones hechas mediante polinomios de


interpolación para un valor x, basta con calcular el valor absoluto de la diferencia
entre la verdadera función y el polinomio, ambos evaluados en dicho valor x. Es
decir, Eabsoluto = | f(x) – P(x) |
En este caso el valor de x con el que se ha estado trabajando es 0.8705. En los
apartados anteriores ya se evaluaron los diferentes polinomios de interpolación
calculados para este valor de x. Ahora se evalúa la función f(x) en ese punto con
ayuda de Maxima como se ve en el apéndice, siendo el resultado:
f(0.8705) = 1146.48016

Finalmente se calculan los errores absolutos cometidos en las estimaciones


hechas en los apartados anteriores mediante los polinomios de orden 2 y 3:

Error absoluto de Pa, polinomio de grado 2 con datos de la Tabla 1:


| f(0.8705) – Pa(0.8705) | = | 1146.48016 – 1146.46708| = 0.01308

Error absoluto de Pb, polinomio de grado 2 con datos de la Tabla 2:


| f(0.8705) – Pb(0.8705) | = | 1146.48016 – 1146.49216| = 0.01200

Error absoluto de Pc, polinomio de grado 3 con datos de la Tabla 3:


| f(0.8705) – Pc(0.8705) | = | 1146.48016 – 1146.48075| = 0.00059

Error absoluto de Pd, polinomio de grado 3 con datos de la Tabla 4:


| f(0.8705) – Pd(0.8705) | = | 1146.48016 – 1146.47983| = 0.00033

Se aprecia una gran diferencia en el error para las estimaciones hechas mediante
los polinomios cuadráticos y los polinomios cúbicos. Los primeros tienen un orden
de magnitud en el error de -2 mientras que los segundos lo tienen de -4. Hay
mucha más precisión en la estimación hecha mediante los polinomios de
interpolación cúbicos.
d) Se busca estimar el error cometido en las aproximaciones del apartado b, con
los polinomios cúbicos, usando la regla del término siguiente.
La definición de error en una interpolación exige el conocimiento de la función
para poder estimar el error. En caso de no conocerla se puede usar la regla del
término siguiente, que consiste en usar para la estimación del error el valor del
término siguiente que se sumaría al polinomio creado mediante las diferencias
divididas.
En general las diferencias divididas de unos valores tabulados (xi,f(xi)) se
definen como:
𝑓[𝑥1,𝑥2,…,𝑥𝑛]−𝑓[𝑥0,𝑥1,…,𝑥𝑛−1]
f0[n] = f[x0,x1,…,xn] = 𝑥𝑛−𝑥0
En el apartado b se han usado polinomios de grado 3 que mediante las
diferencias divididas se escriben así:
P3(x) = f0[0] + (x-x0)f0[1] + (x-x0)(x-x1)f0[2] + (x-x0)(x-x1)(x-x2)f0[3]

El siguiente término que se escribiría si el polinomio fuera un grado mayor es lo


que se definirá como el error para estos polinomios cúbicos. Por tanto para este
caso se tiene como error:
E(x) = (x-x0)(x-x1)(x-x2)(x-x3)f0[4]

La Tabla 3 del apartado b necesitamos aumentarla con el siguiente dato para


poder calcular f0[4] . Así construimos la siguiente tabla con las diferencias divididas
calculándolas mediante su definición general descrita antes:

i xi f(xi)=fi[0] fi[1] fi[2] fi[3] fi[4]


0 0.82 1640.5230 -9960.295 5859.625 -4491.6667 3776.041667
1 0.84 1441.3171 -9725.910 5590.125 -4189.5833
2 0.86 1246.7989 -9502.305 5338.750
3 0.88 1056.7528 -9288.755
4 0.90 870.9777

La expresión del error será por tanto:


E1(x) = (x-0.82)(x-0.84)(x-0.86)(x-0.88) 3776.041667
Y evaluando esta expresión para el valor x = 0.8705 se obtiene el error en la
estimación mediante la regla del término siguiente al usar un polinomio cúbico con
los datos de la Tabla 3. Esta evaluación la realizo con Maple, como lo escribo en el
apéndice, y el resultado es:
E1(0.8705)= -0.00058

Se realizan los mismos pasos para los datos de la Tabla 4. Se aumenta con el dato
siguiente que corresponde y se calculan las diferencias divididas:

i xi f(xi)=fi[0] fi[1] fi[2] fi[3] fi[4]


0 0.84 1441.3171 -9725.910 5590.125 -4189.5833 3489.583333
1 0.86 1246.7989 -9502.305 5338.750 -3910.4167
2 0.88 1056.7528 -9288.755 5104.125
3 0.90 870.9777 -9084.590
4 0.92 689.2859

La expresión del error será:


E2(x) = (x-0.84)(x-0.86)(x-0.88)(x-0.90) 3489.583333
Se evalúa la expresión para x = 0.8705 con ayuda de Maple, obteniendo el error
en la estimación al usar un polinomio cúbico con los datos de la Tabla 4:
E2(0.8705)= 0.00031

Estos errores comparados con los errores absolutos correspondientes obtenidos


en el apartado anterior son muy similares.

e) En el apartado b se usaron para la interpolación polinomios cúbicos, por la


tanto en la fórmula que define el error de una interpolación se tiene que n=3. Así
que en esta ocasión hay que usar en la fórmula la 4ª derivada de la función que en
el apartado c llamé f(x). El resultado de esta derivada me la da Maple tras la orden
34380
que escribo en el apéndice, siendo ln(2) 𝑥^4 . El valor 𝜉 se refiere a un valor que está
en el intervalo más pequeño que contenga a los puntos xi que se han usado para la
interpolación, incluido el punto x del que se quería calcular la función, que en
nuestro caso es 0.8705.
Para completar los datos en la fórmula del error faltan los valores xi que se han
usado para la interpolación. El primer polinomio cúbico se halló con los datos de la
Tabla3 y el segundo polinomio cúbico con los datos de la Tabla 4.

Introduciendo en Maple los xi de la Tabla 3, ver apéndice, se obtiene la siguiente


expresión del error:
0.00190513
E1(x) = - , con el valor 𝜉 comprendido entre 0.82 y 0.88.
𝑥^4
La función es monótona decreciente por lo que error puede acotarse en
E1 (0.88) < E1 (0.8705) < E1 (0.82)
Evaluando los valores en Maple como se especifica en el apéndice, se tiene:
-0.00318 < E1 (0.8705) < -0.00421
La gráfica hecha con Maple muestra el posible valor de E1(0.8705) que está en el
intervalo entre -0.00318 y -0.00421

Para los xi de la Tabla 4, tras introducir los datos en Maple, se obtiene esta
expresión para el error:
0.00111290
E2(x) = , con el valor 𝜉 comprendido entre 0.84 y 0.90
𝑥^4
La función sigue siendo monótona decreciente así que el error puede acotarse en
E2 (0.90) < E2 (0.8705) < E2 (0.84)
Evaluando los valores en Maple se tiene:
0.00170 < E2 (0.8705) < 0.00224
La gráfica hecha con Maple muestra el posible valor de E2(0.8705) que está en el
intervalo entre 0.00170 y 0.00224

Ahora voy a comparar los errores calculados para los polinomio de interpolación
cúbicos, tanto para el obtenido con los datos de la Tabla 3 (puntos i=2,3,4,5 de la
tabla del enunciado del problema) como con los datos de la Tabla 4 (puntos
i=3,4,5,6 del enunciado). En el apartado c se calculó el error absoluto para la
estimación hecha del punto 0.8705, y en el apartado d el error mediante la regla
del término siguiente para el mismo punto. Los resultados obtenidos fueron los
siguientes:
Error absoluto (puntos i=2,3,4,5) = 5.9*10-4
Error absoluto (puntos i=3,4,5,6) = 3.3*10-4
Error término siguiente (puntos i=2,3,4,5) = -5.8*10-4
Error término siguiente (puntos i=3,4,5,6) = 3.1*10-4

Todos estos errores en la estimación del valor 0.8705 mediante un polinomio de


interpolación cúbico se puede ver que tienen un mismo orden de magnitud de -4.
Para un mismo conjunto de puntos elegido para la estimación, se observa un error
muy similar tanto si se calcula el error absoluto como si se usa la regla del término
siguiente, ligeramente más preciso este último método.
Sin embargo se aprecia casi la mitad de error cuando los puntos elegidos para la
estimación son i= 3,4,5,6 , tanto en el error absoluto como en el error calculado por
el término siguiente. Esto es debido a que el valor 0.8705 está más centrado entre
este conjunto de valores, haciendo los términos (x-xi) más pequeños en el cálculo
del error. Es importante la elección de puntos para realizar el polinomio de
interpolación, ya que cuanto más centrado esté el valor que se quiere estimar
dentro del conjunto de puntos, más precisión se conseguirá en la estimación.

APÉNDICE
A.a) Para la obtención del polinomio de orden 2 de Lagrange con los datos de la
Tabla 1 defino el polinomio Pa(x) en Maxima con los datos de dicha tabla y pido
que simplifique la expresión:
Pa(x):=1441.3171*(((x-0.86)*(x-0.88))/((0.84-0.86)*(0.84-
0.88)))+1246.7989*(((x-0.84)*(x-0.88))/((0.86-0.84)*(0.86-
0.88)))+1056.7528*(((x-0.84)*(x-0.86))/((0.88-0.84)*(0.88-0.86)))$
ratsimp(Pa(x));

Maxima devuelve el polinomio en forma de fracción:


(55901250*x^2-192291225*x+136493878)/10000

Finalmente le pido que evalúe el polinomio con el valor de la variable que nos
pide el ejercicio:
Pa(0.8705);
Y devuelve el resultado que se buscaba: 1146.467082531249

Obtención del polinomio de orden 2 de Lagrange con los datos de la Tabla 2. Se


escriben en Maxima los datos para definir el polinomio Pb(x) y se pide que
simplifique la expresión:
Pb(x):=1246.7989*(((x-0.88)*(x-0.90))/((0.86-0.88)*(0.86-
0.90)))+1056.7528*(((x-0.86)*(x-0.90))/((0.88-0.86)*(0.88-
0.90)))+870.9777*(((x-0.86)*(x-0.88))/((0.90-0.86)*(0.90-0.88)))$
ratsimp(Pb(x));

Se obtiene el polinomio en forma de fracción:


(13346875*x^2-46979325*x+33647868)/2500

Se evalúa el polinomio en el valor que nos pide el ejercicio:


Pb(0.8705);
El resultado que devuelve es: 1146.492157187499

A.b) Obtención del polinomio de Lagrange de orden 3 con Maxima para los datos
de la Tabla 3. Se ingresan los valores para obtener el polinomio y se pide que lo
simplifique:
Pc(x):=1640.5230*(((x-0.84)*(x-0.86)*(x-0.88))/((0.82-0.84)*(0.82-0.86)*(0.82-
0.88)))+1441.3171*(((x-0.82)*(x-0.86)*(x-0.88))/((0.84-0.82)*(0.84-0.86)*(0.84-
0.88)))+1246.7989*(((x-0.82)*(x-0.84)*(x-0.88))/((0.86-0.82)*(0.86-0.84)*(0.86-
0.88)))+1056.7528*(((x-0.82)*(x-0.84)*(x-0.86))/((0.88-0.82)*(0.88-0.84)*(0.88-
0.86)))$
ratsimp(Pc(x));

Maxima devuelve el polinomio de grado 3 en fracciones:


Pc(x):=(-1)/30000*(134750000*x^3+(-515358750)*x^2+875803075*x+-
495143826)

Se pide a Maxima que evalúe el polinomio para el valor 0.8705:


Pc(0.8705);
El valor obtenido es: 1146.480747865624

Obtención del polinomio de Lagrange de orden 3 con Maxima para los datos de la
Tabla 4:
Pd(x):=1441.3171*(((x-0.86)*(x-0.88)*(x-0.90))/((0.84-0.86)*(0.84-0.88)*(0.84-
0.90)))+1246.7989*(((x-0.84)*(x-0.88)*(x-0.90))/((0.86-0.84)*(0.86-0.88)*(0.86-
0.90)))+1056.7528*(((x-0.84)*(x-0.86)*(x-0.90))/((0.88-0.84)*(0.88-0.86)*(0.88-
0.90)))+870.9777*(((x-0.84)*(x-0.86)*(x-0.88))/((0.90-0.84)*(0.90-0.86)*(0.90-
0.88)))$
ratsimp(%);

El polinomio que devuelve es:


-(158314728656919802572002984837500*x^3-
619689980450253520331558339633750*x^2+10778297546854561226648048
61187710*x-
616421578466922566247035464907457)/37787702513879462500509562500

Se pide a Maxima que evalúe el polinomio para 0.8705:


Pd(0.8705);
El resultado que nos da es: 1146.479828814843

A.c) Se define la función f(x) en Maxima para después poder evaluarla en el punto
0.8705:
f(x):=(-5730/(log(2)))*log(x)$
float(f(0.8705));
El valor devuelto es: 1146.480156872949

A.d) Evaluación mediante Maple de E1(0.8705):


Escribo: E := (x-.82)*(x-.84)*(x-.86)*(x-.88)*3776.041667
E(.8705)
Y me devuelve: -0.0005801508057

Evaluación mediante Maple de E2(0.8705):


Escribo: E := (x-.84)*(x-.86)*(x-.88)*(x-.90)*3489.583333
E(.8705)
Y me devuelve: 0.0003131903222

A.e) Cálculo de la 4ª derivada mediante Maple de la función que llamé f(x):


Escribo: diff((-5730/ln(2))*ln(x), x$4)
Y Maple devuelve: 34380/(ln(2)*x^4)

Expresión del error E1(x) introduciendo los datos correspondientes en Maple:


Escribo: E(x):= (.8705-.82)*(.8705-.84)*(.8705-.86)*(.8705-
.88)*(34380/(ln(2)*x^4)*(1/4))
Y Maple devuelve: -0.1320535263e-2/(ln(2)*x^4)
Evaluación de las cotas máximas y mínimas de error para E1(x) con Maple:
Entrada: E(.88) Salida: -0.2202010139e-2/ln(2)
Entrada: E(.82) Salida: -0.2920751398e-2/ln(2)

Orden a Maple para la gráfica de E1(x) acotada a los posibles valores de


E1(0.8705):
plot(E(x), x = .82 .. .88)

Expresión del error E2(x) introduciendo los datos correspondientes en Maple:


Escribo: E(x):=(.8705-.84)*(.8705-.86)*(.8705-.88)*(.8705-
.90)*(34380/(ln(2)*x^4)*(1/4))
Y Maple devuelve: 0.7714017872e-3/(ln(2)*x^4)

Evaluación de las cotas máximas y mínimas de error para E2(x) con Maple:
Entrada: E(.9) Salida: 0.7714017872e-3/(ln(2)*x^4)
Entrada: E(.84) Salida: 0.1549399803e-2/ln(2)

Orden a Maple para la gráfica de E2(x) acotada a los posibles valores de


E1(0.8705):
plot(E(x), x = .84 .. .9)