#COEFICIENTE ANGULAR DE TORONJA
b = 17 # Intercepto conocido
encontrado = False
intentos = 0
max_intentos = 100000
np.random.seed(42)
while not encontrado and intentos < max_intentos:
m_t = np.random.uniform(0, 100) # coeficiente angular aleatorio
y_estimado = m_t* x_t + b
diferencia = np.abs(y_t - y_estimado)
# Si el promedio de error es suficientemente pequeño, se acepta el m
if np.mean(diferencia) < 1: # tolerancia ajustable
encontrado = True
print(f"Coeficiente angular encontrado: {m_t:.4f}")
print(f"Error promedio: {np.mean(diferencia):.4f}")
intentos += 1
if not encontrado:
print("No se encontró un coeficiente adecuado en el número máximo de intentos.")
plt.plot(x_t, y_t, label='Datos reales')
plt.plot(x_t, y_estimado, label='Regresión lineal estimada(aleatoria)',linestyle="--")
plt.xlabel('Diametro (cm)')
plt.ylabel('Peso (g)')
plt.legend()
plt.xlabel('Diametro (cm)')
plt.ylabel('Peso (g)')
#COEFICIENTE ANGULAR DE NARANJA
b = 17 # Intercepto conocido
encontrado = False
intentos = 0
max_intentos = 100000 # Máximo de intentos para encontrar m
np.random.seed(98)
while not encontrado and intentos < max_intentos:
m = np.random.uniform(0, 20) # Generar un valor aleatorio para m
y_estimado = m * x_n + b # Calcular los valores estimados de y
diferencia = np.abs(y_n - y_estimado) # Diferencia absoluta entre real y estimado
# Si el error promedio es suficientemente pequeño, aceptamos ese m
if np.mean(diferencia) < 2: # Puedes ajustar este umbral
encontrado = True
print(f"Coeficiente angular encontrado: {m:.4f}")
print(f"Error promedio: {np.mean(diferencia):.4f}")
intentos += 1
if not encontrado:
print("No se encontró un coeficiente adecuado en el número máximo de intentos.")
plt.plot(x_n, y_n, label='Datos reales')
plt.plot(x_n, y_estimado, label='Regresión lineal estimada(aleatoria)',linestyle="--")
plt.xlabel('Diametro (cm)')
plt.ylabel('Peso (g)')
plt.legend()
plt.xlabel('Diametro (cm)')
plt.ylabel('Peso (g)')