es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estoy intentando resolver una ecuación con múltiples variables para b.

Estoy tratando de resolver una ecuación simple, pero esto es lo que se está produciendo:

Ingrese aquí la descripción de la imagen

La ecuación es y = m*x + b,

y, my b ya están definidos

Me gustaría imprimir b.

import sympy
while True:
    x1 = int(input('x1: '))
    y1 = int(input('y1: '))

x2 = int(input('x1: '))
y2 = int(input('y1: '))

m = (y1-y2) / (x1-x2)
print(m)

m = sympy.symbols('m')
x = sympy.symbols('x')
y = sympy.symbols('y')
b = sympy.symbols('b')

a = y, x*m + b

print(sympy.solve(a, b))

“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que la salida muestra la solución de la ecuación y = m*x - b en lugar de y = m*x + b. Esto significa que el valor que se imprime es en realidad -b y no b.

    Para imprimir b, simplemente debes cambiar el signo del valor que se imprime:

    import sympy
    while True:
        x1 = int(input('x1: '))
        y1 = int(input('y1: '))
    
        x2 = int(input('x2: '))  # Corrije el texto duplicado
        y2 = int(input('y2: '))  # Corrije el texto duplicado
    
        m = (y1-y2) / (x1-x2)
        print(m)
    
        m = sympy.symbols('m')
        x = sympy.symbols('x')
        y = sympy.symbols('y')
        b = sympy.symbols('b')
    
        a = y, x*m + b
    
        # Cambia el signo del valor que se imprime para obtener b
        print(-sympy.solve(a, b)[0])
    

    Esto debería dar como resultado el valor de b. Asegúrate también de corregir la solicitud duplicada de entrada para x2 y y2.

Comments are closed.