Está en la página 1de 22

Universidad Autónoma de Nuevo León

Facultad de Ciencias Físico Matemáticas

Física Computacional
Tarea 1

Alumno:

• Martínez Arredondo Gabriel Alfonso 1895681

Docente: Dr, Tlahuice Flores Alfredo

Grupo: 022

Fecha: 3 de febrero de 2023


Objetivo: Realizar un código capaz de encontrar raíces de funciones utilizando el método de
Newton, para resolver los ejercicios propuestos.

Código utilizado para los ejercicios del método de Newton:

La parte donde definimos la función será cambiada a la función requerida para el ejercicio.
A la hora de realizar esta actividad, me tope con el problema de trabajar con las funciones de
los ejercicios 2, 3 y 4, Pues al tener varias contantes muy complejas, era difícil escribirlas para
graficarlas directamente en un archivo de texto, así que me vi en la necesidad de aprovechar la
facilidad de guardar constantes en fortran para hacer un código que grafique funciones en
gnutplot a través de Fortran:
Ejercicios:

I. Resolver las siguientes ecuaciones numéricamente usando el método de Newton.


a) ¿Cuál es la raíza numérica de 8?. Resolver numéricamente.

Solución:

Como queremos calcular la raíz cúbica de ocho, lo que hacemos es proponer que sea la raíz de
alguna función, para que pueda ser el resultado obtenido al correr el código para dicha función.
3
Entonces: 𝑥 = √8, elevamos al cubo y pasamos todo al otro lado de la ecuación.

Le damos forma de una función: 𝑥 3 − 8 = 0.

Es decir, ahora debemos encontrar la raíz de la función 𝑓(𝑥) = 𝑥 3 − 8.

Graficamos la función para escoger un valor inicial el cual aproximar a la raíz real, utilizando
el siguiente script (GraficaEj1a):
El valor con el que iniciaremos el cálculo es x0 = 1.

∴ La raíz obtenida, y por lo tanto el valor de la raíz cubica de 8 es 2.


b) −0.8𝑥 4 + 6.6𝑥 3 − 16𝑥 2 + 11.7𝑥 + 10 = 0

Graficamos la función para escoger un valor inicial adecuado. El script utilizado para graficar
fue:
Entonces escogemos el valor x0 = 0.

Estas son las líneas de código que modificamos para este inciso

∴ La raíz obtenida, y por lo tanto la solución a la ecuación es -0.4776.

c) 𝑥𝑒 0.5𝑥 + 1.2𝑥 − 5

Graficamos la función para escoger un valor inicial adecuado.


Entonces escogemos el valor x0 = 0.

Estas son las líneas de código que modificamos para este inciso

∴ La raíz obtenida es 1.505.


d) cos(𝑥) cosh(𝑥) + 1

Graficamos la función para escoger un valor inicial adecuado.


Entonces escogemos el valor x0 = 2.

Estas son las líneas de código que modificamos para este inciso

∴ La raíz obtenida es 1.8751.

e) 𝑥 − 2𝑒 −𝑥

Graficamos la función para escoger un valor inicial adecuado.


Entonces escogemos el valor x0 = 0.5.

Estas son las líneas de código que modificamos para este inciso:

∴ La raíz obtenida es 0.8526.


II. Un detector de temperatura mediante la resistencia de un material, principalmente
Niquel, se basa en el cambia de resistencia eléctrica con los cambios de temperatura.
La expresión de la resistencia a una temperatura dada esta dada por la siguiente
expresión: 𝑅𝑇 = 𝑅0 (1 + 𝐴𝑇 + 𝐵𝑇 2 + 𝐶𝑇 2 + 𝐷𝑇 6 )
Siendo 𝑅0 la resistencia a 0 grados centígrados y A, B, C y D constantes.
Si 𝑅0 = 100 Ω, determine la temperatura cuando la resistencia es de 300 Ω
Datos:
𝐴 = 5.485 ∗ 10−3
𝐵 = 6.65 ∗ 10−6
𝐶 = 2.8055 ∗ 10−11
𝐷 = −2.0 ∗ 10−17

Despejamos la función para encontrar sus raíces 𝑅0 (1 + 𝐴𝑇 + 𝐵𝑇 2 + 𝐶𝑇 2 + 𝐷𝑇 6 ) − 𝑅𝑇


La graficamos para observar sus posibles raíces en gnuplot (GraficaEj2.f)

Desde la gráfica observamos que hay dos raíces en los valores menores a -500 grados, pero,
el cero absoluto se encuentra a -273 grados celsius, por lo que estas raíces no representan una
solución con significado físico real, por la cual las omitimos como solución al problema.
Estas son las líneas de código Newton.f que modificamos para adaptar la función del
problema.

Ahora escogemos el valor x0 = 500

Ahora escogemos el valor x0 = 1200

∴ Los valores de temperatura que cumplen la ecuación son 𝑇 = 260.2165 y 𝑇 = 1299.7769,


ambos en grados celcius
III. Durante un juego de futbol americano, un lanzador, lanza una pelota, estando a una
altura ℎ1 . El recibidor, esta alejado 60 pies y a una altura ℎ𝑅 . Se conocen la
velocidad inicial, la distancia vertical y y la distancia horizontal x. Determinar el
ángulo que hace la pelota con la horizontal antes de dejar la mano del lanzador.
Datos:
𝑓𝑡
𝑔 = 32.2 2
𝑠
𝑣0 = 50 𝑓𝑡/𝑠
𝑥 = 60 𝑓𝑡
𝐻𝑄 = 6.5 𝑓𝑡
HR = 7 ft
1 𝑥2𝑔 1
𝑦 = 𝑥𝑡𝑎𝑛(𝜃) − + ℎ𝑄
2 𝑣02 cos 2 (𝜃)
Como sabemos que la altura que alcanza la bola (y) es HR, lo sustituimos en la formula y
despejamos la ecuación para obtener una función a la que podemos buscar sus raíces con el
método de Newton, y así encontrar los valores del angulo que cumplen la ecuación.
1 𝑥2𝑔 1
𝑥𝑡𝑎𝑛(𝜃) − 2 + ℎ𝑄 − ℎ𝑅
2 𝑣0 cos 2 (𝜃)

Graficamos la función en gnuplot (GraficaEj3.f)

Ahora escogemos el valor a aproximar x0 = 0, basándonos en la grafica.


Las líneas de código que modificamos en el archivo Newton.f fueron:

Al correr el código Newton.f con la función dada tenemos:

∴ Los valores de 𝜃 que cumplen la función son 𝜃 = 0.4523 radianes.


IV. La fuerza que actúa entre una partícula con carga q y un disco circular de radio R y
una carga esta dado por la ecuación.
𝑄𝑞𝑧 𝑧
𝐹= (1 − )
2𝜖0 √𝑧 + 𝑅 2
2

Donde 𝜖0 es la constante de permitividad y z es la distancia a la partícula.


Determinar la distancia z, si la fuerza es de 0.3 N
Datos:
𝐶2
𝜖0 = 0.885 ∗ 10−12
𝑁𝑚2
−6
𝑄 = 9.4 ∗ 10 𝐶
𝑞 = 2.4 ∗ 10−5 𝐶
𝑅 = 0.1 𝑚

Despejamos la ecuación para obtener una función a la que podemos buscar sus raíces con el
método de Newton, y así encontrar los valores de z que cumplen la ecuación.
𝑄𝑞𝑧 𝑧
(1 − )−𝐹
2𝜖0 √𝑧 2 + 𝑅 2
Graficamos en gnuplot (GraficaEj3.f) sustituyendo los valores dados:

Entonces escogemos el valor x0 = 0.


Las líneas del Código Newton.f que modificamos para adaptar la función fueron:

Corremos el Código.
Ahora, escogemos el valor x0 = 1

∴ Los valores de z que cumplen la función son z = 0.0024 m y z = 2.1207 m.


V. Programación de un algoritmo para encontrar el intervalo donde se tiene una raíz
de una función.
Archivo EjercicioV.f

Ejemplo de su funcionamiento:
Conclusiones:

La realización de este Código me ayudo a comprender mejor el potencial de Fortran, pues para
los últimos ejercicios fui capaz de desarrollar un Código que me facilitara la tediosa graficación
de funciones con muchas constantes, además de para mi comodidad abrir directamente desde
la terminal la aplicación con la que deseo graficar.

Para la realización de este código fui capaz de aprender a derivar numéricamente, realizar
scripts, graficarlos, realizar do de una manera más optima, así como mejorar la redacción y la
optimización de las líneas de código de mis archivos.

Los últimos problemas fueron interesantes para comprender las aplicaciones de la


programación en problemas razonados que tiene relación con los problemas físicos que suelen
resolver en la carrera, por lo que me ayudo a entender más en claro el cómo mejorar mis
habilidades con el uso d Fortran para progresar en mi carrera como físico.

Para finalizar, pude ver la comparativa entre el método de Newton y el método de bisección,
fue gratificante lograr realizar tareas al principio complejas utilizando mis habilidades de
programación, y en muchos menores iteraciones que los otros métodos.
Anexo:

También podría gustarte