Está en la página 1de 21

FÍSICA COMPUTACIONAL II − GRADO EN FÍSICA − UNED

PRIMERA PRUEBA DE EVALUACIÓN CONTINUA − CURSO 2021-2022

Lucı́a Salazar Fresneda

“ El firmante de este trabajo reconoce que todo él es original, de su única autorı́a,
escritura y redacción, y que allı́ donde han sido empleadas ideas o datos de
otros autores, su trabajo ha sido reconocido y ubicado, con suficiente detalle,
como para que el lector pueda consultar lo afirmado sobre él. ”

Una partı́cula de masa m se mueve bajo la acción de una fuerza central. La fuerza es tal
que su magnitud sólo depende de la distancia r de la partı́cula al centro de fuerza y está dirigida
a lo largo de la lı́nea que une la posición de la partı́cula con dicho centro

F(r) = F(r)ur

r
siendo r el vector de posición con respecto al centro y ur = r
el vector unitario.

El hecho de que la partı́cula se encuentre sometida a una fuerza central confiere dos
caracterı́sticas fundamentales a su movimiento. En primer lugar, la energı́a se conserva, esto es,
la fuerza es conservativa. En segundo lugar, el momento de la fuerza (o torque) respecto al centro
es nulo ya que en todo momento la fuerza y el vector de posición son paralelos. La segunda
de las condiciones implica que el vector momento angular de la partı́cula L es constante. Esto
hace que el movimiento de la partı́cula quede confinado a un plano perpendicular al momento
angular, gracias a lo que se puede describir el movimiento de forma sencilla en términos de las
coordenadas polares planas (r y θ). Usando estas coordenadas la energı́a total E de la partı́cula
es
1
E = m(ṙ2 + r2 θ̇2 ) + V (r)
2

donde V (r) representa la energı́a potencial de la partı́cula, cuya forma dependerá de la fuerza
central concreta que se haya aplicado. Por otra parte, el término 12 m(ṙ2 + r2 θ̇2 ) contiene las
contribuciones radial y angular de la energı́a cinética. Dado que el módulo del momento angular
es constante L = mr2 θ̇, podemos hacer desaparecer la presencia explı́cita de la variable angular
en la energı́a total al reescribirla en términos de L

1 L2 1
E = mṙ2 + 2
+ V (r) = mṙ2 + Vef (r) (1)
2 2mr 2

1
En esta expresión hemos definido el potencial efectivo

L2
Vef (r) = + V (r)
2mr2

que como vemos solo depende de la variable radial.

Para resolver esta PEC supondremos que la partı́cula se mueve en un campo atractivo de
potencial de la forma

α
V (r) = − con α > 0 (2)
r
y fijaremos los valores de las constantes a m = 1, α = 5 y L = 1 en unidades del Sistema
Internacional. Se recomienda realizar representaciones gráficas de los potenciales y consultar
algún libro de Mecánica Clásica, como por ejemplo, el libro básico recomendado en la asignatura
de Mecánica del Grado en Fı́sica de la UNED.

(a) Calcule el valor de r que hace que el potencial efectivo Vef (r) sea mı́nimo mediante el
método de Newton y partiendo de varias semillas. Analice sobre este ejemplo el llamado
teorema (o criterio) de convergencia.

(b) Sea rmin el valor calculado en el apartado anterior. En el caso de que la partı́cula tu-
viese una energı́a tal que E = Vef (rmin ), ¿qué peculiaridad tendrı́a el movimiento de la
partı́cula? Razone su respuesta.

(c) Supongamos que, además de las constantes fijadas anteriormente, exigimos que la energı́a
total tome el valor de E = −1 (valor dado también en unidades del Sistema Internacional).
Podremos ahora calcular los valores de r para los que la partı́cula tiene una velocidad
radial nula (ṙ = 0), también llamados puntos de retroceso, resolviendo la ecuación

L2 α
E= 2
− (3)
2mr r

Utilizando el método numérico de la bisección, obtenga el (o los) valores de r que sa-


tisfacen la Ecuación 3. Analice el número de iteraciones necesarias para garantizar una
aproximación a la solución con un error absoluto menor que 10−5 . En el caso de que en-
cuentre más de una solución, razone por qué sucede esto para este valor de E, indicando la
forma que tiene la trayectoria descrita por la partı́cula. Teniendo en cuenta el número de
soluciones encontradas en este apartado y en el apartado a), discuta las similitudes y las
diferencias entre los movimientos descritos por la partı́cula en cada una de las situaciones.

2
(d) Finalmente, suponga que se fija el valor de la energı́a total a E = +1 (en unidades del
Sistema Internacional). Calcule el (o los) valores de r que son solución de la Ecuación 3
usando el método de punto fijo. Repita la búsqueda incorporando la aceleración de Aitken,
en concreto, utilice el método de Steffensen.

(e) Razone cuántas soluciones a la Ecuación 3 existen para la energı́a E = +1 y discuta si


son soluciones fı́sicamente válidas y el significado de las mismas.

(f) Utilizando los resultados obtenidos en los apartados a), c) y d) estime el orden de con-
vergencia de cada método numérico implementado y compárelos.
Para este último apartado se recomienda leer el apartado 2.4 del libro de texto base
“Análisis Numérico” de Burden y Faires (9a edición) titulado “Análisis de error para los
métodos iterativos”. Se trata de determinar experimentalmente los órdenes de conver-
gencia que se obtienen de las sucesiones obtenidas, como aproximaciones sucesivas a la
solución usando cierto método numérico. Para estimar el orden de convergencia y discutir
esta cuestión no es necesario realizar ajustes por mı́nimos cuadrados, pero se recomienda
hacer uso de una representación logarı́tmica de los errores cometidos.

3
SOLUCIÓN

Apartado a)

En este primer apartado, queremos calcular, mediante el método de Newton, el valor del
radio en el que la derivada del potencial efectivo se anula. Para ello, debemos encontrar los
ceros de la función Vef0 (r) = 0, donde tomaremos los valores r ≥ 0 al tratarse de una distancia.

Realizando una representación gráfica del potencial efectivo dado (Figura 1), podemos
observar que el cero se encuentra próximo a 0.2, de forma que serı́a un valor acertado en cuanto
a la elección de la semilla.

Figura 1: Representación gráfica de Vef (r) frente a r.

Utilizamos el algoritmo A.1 correspondiente al método de Newton programado en lenguaje


C. Probamos con diferentes semillas, exigiendo una aproximación a la solución con un error
absoluto menor que 10−5 y con un máximo de iteraciones, N0 , igual a 15, obteniendo los
resultados que aparecen en la Tabla 1 y la Tabla 2. La semilla usada aparece en la cabecera
de cada par de columnas; se han evitado usar valores negativos ya que no tiene sentido como
resultado un valor de radio menor que cero.

4
semilla 0.1 semilla 0.25
n valor pn error valor pn error
0 0.100000 - 0.250000 -
1 0.125000 0.025000 0.125000 0.125000
2 0.151786 0.026786 0.151786 0.026786
3 0.176474 0.024688 0.176474 0.024688
4 0.193279 0.016805 0.193279 0.016805
5 0.199365 0.006086 0.199365 0.006086
6 0.199994 0.000629 0.199994 0.000629
7 0.200000 0.000006 0.200000 0.000006
Tabla 1: Resultados para las semillas 0.1 y 0.25.

semilla 0.3 semilla 0.4 semilla 0.5


n valor pn error valor pn error valor pn error
0 0.300000 - 0.400000 - 0.500000 -
1 -1.35108E+21 1.35108E+21 0.800000 0.400000 0.875000 0.375000
2 -2.02662E+21 6.7554E+20 1.280000 0.480000 1.388587 0.513587
3 -3.03993E+21 1.01331E+21 1.985306 0.705306 2.146660 0.758073
4 -4.55989E+21 1.51996E+21 3.036860 1.051554 3.278112 1.131453
5 -6.83984E+21 2.27995E+21 4.610770 1.573911 4.972205 1.694093
6 -1.02598E+22 3.41992E+21 6.969635 2.358865 7.511519 2.539313
7 -1.53896E+22 5.12988E+21 10.506701 3.537066 11.319358 3.807839
8 -2.30845E+22 7.69482E+21 15.811522 5.304820 17.030398 5.711040
9 -3.46267E+22 1.15422E+22 23.768250 7.956728 25.596494 8.566096
10 -5.194E+22 1.73133E+22 35.703014 11.934764 38.445333 12.848840
11 -7.79101E+22 2.597E+22 53.604944 17.901931 57.718393 19.273060
12 -1.16865E+23 3.8955E+22 80.457698 26.852754 86.627851 28.909458
13 -1.75298E+23 5.84326E+22 120.736734 40.279036 129.991950 43.364099
14 -2.62947E+23 8.76488E+22 181.155225 60.418491 195.038041 65.046091
15 -3.9442E+23 1.31473E+23 271.782921 90.627696 292.607139 97.569098
16 -5.9163E+23 1.9721E+23 407.724436 135.941516 438.960759 146.353621
Tabla 2: Resultados para las semillas 0.3, 0.4 y 0.5

Podemos apreciar como las semillas 0.1 y 0.25 convergen al valor 0.2, este es el valor del
radio de la órbita para el caso en el que el potencial efectivo sea mı́nimo. Por otro lado, se
observa la clara divergencia del método cuando cogemos semillas con valores como 0.3, 0.4 y
0.5 o mayores; esto se debe al teorema de convergencia.

5
El teorema de la convergencia para el método de Newton afirma que para toda función de
clase C 2 perteneciente al intervalo [a,b], escogiendo un punto p perteneciente a dicho intervalo
para el cual f (p) = 0 y f 0 (p) no se anula, existe un radio positivo dentro del cual el método de
Newton converge para cualquier aproximación inicial p0 contenida en [p0 − r, p0 + r]. De esta
manera, debido a que la derivada del potencial efectivo no existe en r = 0, el intervalo sugerido
tendrá un radio menor a 0.2.

Por otro lado, tenemos que


1 5
Vef0 (r) = − +
r3 r2
3 10
Vef00 = 4
− 3
r r

Atendiendo al criterio mencionado, vemos como Vef00 (r) se nula en r = 0,3 y como ya
conocemos la raı́z de Vef0 (r), p = 0,2, podemos concluir que el radio positivo en torno a p debe
ser menor que 0.1. Por otro lado, Vef0 (r) presenta problemas de continuidad en 0, de manera
que, junto con el resultado anterior, deberemos coger semillas en un intervalo como mucho, de
tamaño (0,0.3) o equivalentemente puntos iniciales dentro de un radio positivo inferior a 0.1
centrado en la raı́z.

Por tanto, podemos asegurar la convergencia de las semillas 0.1 y 0.25, tal como vemos en
la Tabla1, mientras que no podemos asegurar la convergencia de las semillas 0.3, 0.4 y 0.5, que
en este caso además divergen.

En conclusión, el valor del radio de la órbita en estas condiciones es rmin = 0,2 m.

Apartado b)

Para diferentes valores de E, la ley de conservación de la energı́a restringe el movimiento


en el potencial efectivo U (r).
L 2
α
Además, la velocidad radial se anula para los valores de r que cumplen 2mr 2 − r = E.

Donde, dependiendo del valor de E, podemos obtener una, dos o ninguna solución para r, dando
lugar a trayectorias circulares, acotadas o abiertas.

El mı́nimo de energı́a que una partı́cula puede tener en el potencial V (r), corresponde
al mı́nimo del potencial efectivo U (r). La trayectoria es circular y el radio r corresponde a la
distancia donde la fuerza atractiva del potencial cancela justamente la fuerza centrı́fuga del
momento angular.

6
La órbita circular ocurre cuando la energı́a del sistema es precisamente la menor posible y
la partı́cula ”queda atrapada.en el mı́nimo del potencial efectivo, manteniendo constante la
coordenada radial rmin a todo tiempo.

Apartado c)

En este apartado, la variación de la energı́a a una energı́a mayor que la anterior pero aún
negativa nos indica que el sistema sigue siendo un sistema ligado y la partı́cula sigue orbitando
alrededor del foco de la fuerza central describiendo una trayectoria elı́ptica. De esta manera
sabemos que debemos encontrar dos soluciones para la ecuación planteada

1 5
2
− + 1 = 0 −→ 1 − 10r + 2r2 = 0
2r r

Figura 2: Representación gráfica de la ecuación de la energı́a para ṙ = 0 y E frente a r.

Analizando la Figura 2, podemos ver cómo las raı́ces de nuestra ecuación se encontrarán
situadas cerca de los puntos 0.1 y 5. Decidimos hacer el método de la bisección en los intervalos
[0.1, 0.2] y [4.8, 5], que cumplen las condiciones necesarias para la aplicación de dicho método.
, de forma que podemos elegir los intervalos [0.1,0.2] y [4.5,5].

7
Los resultados obtenidos mediante el algoritmo A.2 programado en C se muestran en la
Tabla 3 y la Tabla 4.

n a b valor pn error
1 0.100000 0.200000 0.150000 -
2 0.100000 0.150000 0.150000 0.050000
3 0.100000 0.125000 0.125000 0.012500
4 0.100000 0.112500 0.112500 0.003125
5 0.100000 0.106250 0.106250 0.000781
6 0.100000 0.103125 0.103125 0.000195
7 0.100000 0.101563 0.101563 0.000049
8 0.100781 0.101563 0.100781 0.000012
9 0.100781 0.101563 0.101172 0.000003

Tabla 3: Método de la bisección para el intervalo [0.1,0.2]

n a b valor pn error
1 4.500000 5.000000 4.750000 -
2 4.750000 5.000000 4.750000 0.250000
3 4.875000 5.000000 4.875000 0.062500
4 4.937500 5.000000 4.937500 0.015625
5 4.968750 5.000000 4.968750 0.003906
6 4.984375 5.000000 4.984375 0.000977
7 4.992188 5.000000 4.992188 0.000244
8 4.996094 5.000000 4.996094 0.000061
9 4.998047 5.000000 4.998047 0.000015
10 4.998047 5.000000 4.999023 0.000004

Tabla 4: Método de la bisección para el intervalo [4.5,5]

Como pudimos ver en la Figura 2, las raı́ces se encuentran en 0.101172 y 4.999023. El hecho
de obtener dos soluciones para el radio nos indica que, para este valor de la energı́a, la partı́cula
describe una elipse, donde la solución de menor radio, r1 es el apoápside de la trayectoria,
mientras que la mayor distancia, r2 , es el periápside. El cuerpo que origina el potencial central
se encontrará situado en uno de los focos.

8
Este resultado comparte con el obtenido en el apartado anterior que ambas energı́as de
la partı́cula son negativas, lo cual nos indica que se trata de sistemas ligados. Sin embargo, la
energı́a del caso analizado es mayor, lo cual produce que el movimiento de la partı́cula quede
L2 5
restringido en una zona donde 0 > E > 2mr 2 − r , moviéndose entre rmin ≤ r ≤ rmax . Estos

resultados se ilustran en la Figura 3, donde una única solución r3 da lugar a la órbita circular
y dos soluciones r2 y r4 dan lugar a la órbita elı́ptica.

Figura 3: El movimiento de una partı́cula en un potencial V (r) dependiendo de su energı́a


inicial. (UGR, Potenciales Centrales)

Supongamos que n iteraciones o pasos de bisección son necesarios para conseguir la preci-
sión requerida.

Puesto que en cada iteración del método de bisección el intervalo en el que buscamos se
reduce a la mitad, después de n pasos el intervalo tiene una longitud (b − a)/2n. De esta forma,
podemos plantear que

b−a
< 10−5 ; 2n > 10−5 (b − a) ; n > −5 log2 10 + log2 (b − a)
2n

Por tanto, para el intervalo [0.1,0.2] obtenemos un n > 13 y para el intervalo [4.5,5] un
n > 15.

9
Apartado d)

En este caso, al ser la energı́a positiva sabemos que el sistema no es ligado y que sólo
existirá una solución para el radio de la órbita que sea positiva y la otra será negativa. Debemos
encontrar las raı́ces de la ecuación

1 5
2
− − 1 = 0 −→ − 2r2 − 10r + 1 = 0
2r r

Para aplicar el método del punto fijo nuestro primer objetivo es encontrar una función g(r)
tal que cuando f (r) = 0 satisfaga g(r) = r. Dentro de las muchas funciones posibles elegimos
g1 (r) para buscar la solución positiva y g2 (r) para la solución negativa.

f (r) 2r2 + 10r − 1


g1 (r) = r − = r −
f 0 (r) 4r + 10
1
r = g2 (r) = −5
2r

Figura 4: Representación de f (r).

10
Además, debemos partir de un valor cercano a la solución, para calcular p1 = g(p0 ), para
lo cual elegiremos p0 = 0,2 y p0 = −5, ya que como podemos ver en la Figura 4, f (r) presenta
dos ceros, uno positivo y otro negativo.

Existen muchas transformaciones algebraicas posibles de la ecuación original F (x) = 0


pero no es seguro que todas ellas converjan, y , si convergen, que lo hagan a una raı́z de la
ecuación original. En consecuencia, si los términos de la iteración convergen a p, es necesario
verificar que F (p) = 0 para el punto fijo p que se extraiga como resultado del algoritmo.

Los resultados obtenidos mediante el algoritmo A.3 programado en C se muestran en la


Tabla 5.

n valor pn error valor pn error


0 0.200000 - -5.000000 -
1 0.106667 0.093333 -5.100000 0.100000
2 0.100156 0.006510 -5.098039 0.001961
3 0.099909 0.000247 -5.098077 0.000038
4 0.099901 0.000009 -5.098076 0.000001
Tabla 5: Método del punto fijo para p0 = 0,2 y p0 = −5.

De esta manera obtenemos las dos aproximaciones r = 0,099901m y r = −5,098076m.

Ahora, podemos repetir el cálculo utilizando la aceleración de Aitken para cada uno de
los casos. Tenemos que, para la iteración n, partiendo de la semilla xn0 pero incluyendo la
aceleración de Aitken, tenemos la secuencia de cálculos

(xn0 − xn1 )2
xna = xn0 − ; xn+1
0 = xna
xn1 − 2xn2 + xn0

con xn1 = g(xn0 ) y xn2 = g(xn1 ).

Los resultados obtenidos mediante el algoritmo A.4 programado en C se muestran en la


Tabla 6.

n valor pn error valor pn error


1 0.099550 0.100450 -5.098077 0.098077
2 0.099901 0.000350 -5.098076 0.000001
3 0.099900 0.000000
Tabla 6: Método de Aitken para p0 = 0,2 y p0 = −5.

11
Apartado e)

A pesar de obtener dos soluciones para la ecuación de la energı́a, sólo podemos aceptar
como una solución válida para el radio de órbita la positiva, ya que es la única que tiene
significado fı́sico.

En este caso la partı́cula estará siguiendo una trayectoria hiperbólica debido a su energı́a
positiva, E > 0, lo que indica que ”en el infinito”la partı́cula cuenta con una velocidad no nula.
Por lo tanto ésta se acercará a la región del espacio que provoca la fuerza central hasta una
distancia de 0.0999 m y a continuación se alejará de la misma.

Apartado f )

Para este último apartado utilizaremos el programa Excel para representar los valores del
logaritmo (en base 10) de la precisión en la iteración n (eje X) frente al logaritmo (en base 10)
de la precisión en la iteración n + 1 (eje Y) y generaremos aproximaciones lineales.

En primer lugar, tratamos de ver si los métodos estudiados presentan una convergencia
cuadrática como punto de partida.

errorn+1
n valor pn errorn = |pn − 0,2| (errorn )2 (errorn )2
0 0.250000 0.050000 0.0025000 -
1 0.125000 0.075000 0.0056250 30.000000000
2 0.151786 0.048214 0.00232459 8.571377778
3 0.176474 0.023526 0.00055347 10.120495250
4 0.193279 0.006721 4.5172E-05 12.14332756
5 0.199365 0.000635 4.0323E-07 14.05743016
6 0.199994 6E-06 3.6E-11 14.88002976
7 0.200000 0 0 0
Tabla 7: Método de Newton.

Para el método de Newton podemos ver el valor constante al que tiende λ ∼ 14. Sin
embargo, a partir de la sexta iteración, el lı́mite

|pn+1 − p|
lı́m
n→∞ |pn − p|

12
se aproxima a una indeterminación del tipo 0/0 y comienza a carecer de validez. Podrı́amos
decir que presenta entonces un orden de convergencia cuadrático, aunque como veremos en la
Figura 5 no se corresponde exactamente a él.

errorn+1
n valor pn errorn = |pn − pc | (errorn )2 (errorn )2
0 4.75 0.249023 0.06201245 -
1 4.75 0.249023 0.06201245 4.01569333
2 4.875 0.124023 0.0153817 1.999969215
3 4.9375 0.061523 0.00378508 3.999751775
4 4.96875 0.030273 0.00091645 7.997982544
5 4.984375 0.014648 0.00021456 15.98333527
6 4.992188 0.006835 4.6717E-05 31.85531151
7 4.996094 0.002929 8.579E-06 62.69636092
8 4.998047 0.000976 9.5258E-07 113.7656295
9 4.999023 0 0 0
Tabla 8: Método de la bisección.

Para el método de bisección, el lı́mite no converge, de manera que presenta una convergencia
lineal o de orden 1.

errorn+1
n valor pn errorn = |pn − pc | (errorn )2 (errorn )2
0 0.200000 0.100099 0.01001981 -
1 0.106667 0.006766 4.57788E-05 0.675262319
2 0.100156 0.000255 6.5025E-08 5.570269319
3 0.099909 8E-06 6.4E-11 123.029604
4 0.099901 0 0 0
Tabla 9: Método del punto fijo.

Para el método del punto fijo ocurre lo mismo que en el caso anterior, el lı́mite no converge
y por tanto el orden de convergencia será 1.

El método de Aitken converge demasiado rápido, de manera que no tenemos una muestra
de datos lo suficientemente grande como para calcular el orden de convergencia.

Por último, realizamos una representación logarı́tmica de los errores, de forma que tengamos
una visión global sobre la convergencia de los diferentes métodos (Figura 5).

13
Figura 5: Representación logarı́tmica de los errores en los diferentes métodos, de forma que
podamos apreciar la evolución de |pn − pc | y |pn+1 − pc |.

Los valores representados son los correspondientes a la sucesión con semilla 0.25 del apar-
tado a (método de Newton; color azul), la de extremos 4.5 y 5 del apartado c (método de la
bisección; color naranja) y la de la semilla de 0.2 del apartado d (método del punto fijo; color
gris).

A la izquierda del gráfico aparecen las ecuaciones de la recta aproximada a los datos
expuestos anteriormente, junto con el coeficiente de correlación, en el mismo orden que aparece
en la leyenda. Se puede ver que esta aproximación lineal es fiable.

En conclusión, podemos ver cómo los 3 métodos se ajustan bastante bien (R ∼ 1) a una
recta, de forma que podemos decir que su convergencia es lineal. Por otro lado, se aprecia que el
método de Newton presenta una convergencia más rápida que los otros dos métodos. Podrı́amos
afirmar, por tanto, que el método de Newton presenta una convergencia cuadrática, mientras
que el método del punto fijo y el método de la bisección presentan una convergencia lineal con
una rapidez prácticamente idéntica, tal como muestran las pendientes de sus rectas de ajuste.

14
ANEXO

ALGORITMO A.1 - Método de Newton

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define TOL 0.00001

int main(void){

int i = 0, N;
double p0, p, TOL, error;

N = 15;

printf(”Valor de la semilla: \n”);


scanf(” %lf”,&p0);

FILE ∗newton;
newton= fopen(”newton.txt”,”w”);

fprintf(newton,” %i \t %.6f \n”,i ,p0);

do {

i ++;
p = p0 - p0*(5*p0-1)/(3-10∗p0);
error = fabs(p - p0);

fprintf(newton,” %i \t %.6f \t %.6f \n”,i ,p ,error);

if (error < TOL){


break;
}

p0 = p;

} while (i <= N);

15
fclose(newton);

if (i > N){

printf(”Se ha realizado el máximo número de iteraciones”);

return 0;

ALGORITMO A.2 - Método de la bisección

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define TOL 0.00001

int main(void) {

int i = 1, N;
double a, b, FA, p, FP, error;

printf(”Valor a del intervalo: \n”);


scanf(” %lf”,&a);
printf(”Valor b del intervalo: \n”);
scanf(” %lf”,&b);
printf(”Número de iteraciones: \n”);
scanf(” %d”,&No);

FA = 2 ∗ pow(a,2) - 10 ∗ a + 1;
p = a + (b - a) / 2;

FILE ∗biseccion;
biseccion= fopen(”biseccion.txt”, ”w”);

fprintf(biseccion,” %i \t %.6f \t %.6f \t %.6f \n”,i ,a ,b ,p);

16
do {

p = a + (b - a) / 2;
FP = 2∗ pow(p, 2) - 10 ∗ p + 1;
error = fabs(b - a) / pow(2,i);

i++;

if (FP == 0 || error < TOL) {

fprintf(biseccion, ” %i \t %.6f \t %.6f \t %.6f \t %.6f \n”,i ,a ,b ,p ,error);

break;

if (FA ∗ FP > 0) {

a = p;
FA = FP;

} else {

b = p;

fprintf(biseccion,” %i \t %.6f \t %.6f \t %.6f \t %.6f \n”,i ,a ,b ,p ,error);

} while (i <= N);

fclose(biseccion);

if (i > N) {

printf(”Se ha realizado el maximo numero de iteraciones”);

return 0;

17
ALGORITMO A.3 - Método del punto fijo

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(void) {

int i, N;
double p0, p, TOL, error;

printf(”Valor de p0: \n”);


scanf(” %lf”,&p0);
printf(”Valor de la tolerancia: \n”);
scanf(” %lf”,&TOL);
printf(”Numero de iteraciones: \n”);
scanf(” %d”,&N);

i = 0;

FILE *puntofijo;
puntofijo = fopen(”puntofijo.txt”,”w”);

fprintf(puntofijo,” %i \t %.6f \n”,i ,p0);

if (p0 >= 0){

do {

i ++;

p = p0 - (p0*pow(p0,2)+10*p0-1)/(4*p0+10);
error = fabs(p - p0);

fprintf(puntofijo,” %i \t %.6f \t %.6f \n”,i ,p ,error);

if (error < TOL){

break;

p0 = p;

18
} while (i <= N);

fclose(puntofijo);

if (i > N){

printf(”Se ha realizado el maximo numero de iteraciones”);

else {

do {

i ++;

p = 1 / (2*p0) - 5;
error = fabs(p - p0);

fprintf(puntofijo,” %i \t %.6f \t %.6f \n”,i ,p ,error);

if (error < TOL){

break;

p0 = p;

} while (i <= N);

fclose(puntofijo);

if (i > N){

printf(”Se ha realizado el maximo numero de iteraciones”);

return 0;

19
ALGORITMO A.4 - Método de Aitken

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(void) {

int i, N;
double p0, p1, p2 p, TOL, error;

printf(”Valor de p0: \n”);


scanf(” %lf”,&p0);
printf(”Valor de la tolerancia: \n”);
scanf(” %lf”,&TOL);
printf(”Numero de iteraciones: \n”);
scanf(” %d”,&N);

i = 0;

FILE *aitken;
aitken = fopen(”aitken.txt”,”w”);

if (p0 >= 0){

do {

i ++;

p = p0 - (p0*pow(p0,2)+10*p0-1)/(4*p0+10);
p2 = p1 - (p0*pow(p1,2)+10*p1-1)/(4*p1+10);
p = p0 - pow((p1-p0),2) / (p2 - 2*p1 + p0);
error = fabs(p - p0);

fprintf(aitken,” %i \t %.6f \t %.6f \n”,i ,p ,error);

if (error < TOL){

break;

p0 = p;

20
} while (i <= N);
fclose(aitken);
if (i > N){
printf(”Se ha realizado el maximo numero de iteraciones”);
}
}
else {
do {
i ++;
p1 = 1 / (2*p0) - 5;
p2 = 1 / (2*p1) - 5;
p = p0 - pow((p1-p0),2) / (p2 - 2*p1 + p0);
error = fabs(p - p0);
fprintf(aitken,” %i \t %.6f \t %.6f \n”,i ,p ,error);
if (error < TOL){
break;
}
p0 = p;
} while (i <= N);
fclose(aitken);
if (i > N){
printf(”Se ha realizado el maximo numero de iteraciones”);
}
}
return 0;
}

21

También podría gustarte