Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Números Aleatorios (Ejercicio)

#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)')

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

#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)')

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola Ronaldiño, espero que estés bien

Gracias por compartir tu ejercício práctico con nosotros, en este momento no veo puntos de mejora! Tu contribución es fundamental para el crecimiento de nuestra comunidad en Alura. Sigue comprometido y no dudes en regresar al foro en caso que tengas alguna duda o dificultad.

¡Continúa con sus estudios y éxito en su carrera!

¡Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!