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.

Sympy: reescribe una expresión en función de una constante.

Soy nuevo en Sympy, así que disculpa si mi pregunta tiene una respuesta obvia.

Me gustaría reescribir una expresión que contiene únicamente constantes (es decir, no símbolos (?)) en términos de una constante definida anteriormente.

from IPython.display import display
import sympy
sympy.init_printing()
r = sympy.S.GoldenRatio - 1
display(r)
display(1 - r)
display(1 - r**2) # equals r

Muestra las siguientes expresiones:

Imagen

Pero me gustaría:

r
1 - r
r

(No estoy seguro si estoy formulando dos preguntas distintas aquí, una para las dos primeras líneas del resultado y otra para la última línea).

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para volver a escribir las expresiones en términos de la constante r, puedes utilizar el método subs en Sympy. Aquí te mostramos cómo:

    from IPython.display import display
    import sympy
    
    sympy.init_printing()
    
    r = sympy.S.GoldenRatio - 1
    display(r)
    
    # Sustituyendo r en las expresiones
    display((1-r).subs({r: r}))
    display((1-r**2).subs({r: r}))
    

    Esto mostrará las siguientes expresiones:

    r
    1 - r
    r
    

    El método subs te permite sustituir un valor por un símbolo en una expresión. En este caso, deseas sustituir el valor de r en las expresiones que solo contienen constantes. La sintaxis para subs es proporcionar un diccionario donde la clave sea el símbolo y el valor sea el valor a sustituir.

Comments are closed.