Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

[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