import matplotlib.pyplot as plt
import numpy as np
def calcular_constante_hooke(F, x):
# La constante de Hooke (k) es la relación entre la fuerza (F) y el desplazamiento (x)
k = F / x
return k
def graficar_constante_hooke(fuerzas, desplazamientos):
# Calcular las constantes de Hooke para cada par de fuerza y desplazamiento
constantes_hooke = [calcular_constante_hooke(F, x) for F, x in zip(fuerzas, desplazamientos)]
# Crear la gráfica
plt.figure(figsize=(10, 6))
plt.plot(desplazamientos, constantes_hooke, 'o')
# Añadir la ecuación a la gráfica
for i in range(len(fuerzas)):
plt.text(desplazamientos[i], constantes_hooke[i], f'k = {constantes_hooke[i]:.2f} N/m', fontsize=10)
# Calcular y dibujar la línea de mejor ajuste
coeficientes = np.polyfit(desplazamientos, constantes_hooke, 1)
polinomio = np.poly1d(coeficientes)
xs = np.linspace(min(desplazamientos), max(desplazamientos), 1000)
ys = polinomio(xs)
plt.plot(xs, ys, '-')
plt.title('Resorte 1. Fuerza elástica vs. Elongación')
plt.xlabel('Desplazamiento (m)')
plt.ylabel('Fuerza elástica (N)')
plt.grid(True)
plt.show()
# Ejemplo de uso:
fuerzas = [.294,.392,.49,.588,.882,1.732] # en Newtons
desplazamientos = [0.11,.15,.17,.21,.32,.49] # en metros
graficar_constante_hooke(fuerzas, desplazamientos)
To embed this project on your website, copy the following code and paste it into your website's HTML: