La asignación de una variable directamente no modificar las expresiones que utiliza la variable de forma retroactiva.

>>> from sympy import Symbol
>>> x = Symbol('x')
>>> y = Symbol('y')
>>> f = x + y
>>> x = 0

>>> f
x + y
hora de salida: docs.sympy.org/latest/tutorial/basic_operations.html para expr.subs(x,val)

OriginalEl autor Wesley | 2015-10-04

3 Comentarios

  1. 26

    Para sustituir varios valores:

    >>> from sympy import Symbol
    >>> x, y = Symbol('x y')
    >>> f = x + y
    >>> f.subs({x:10, y: 20})
    >>> f
    30
    Estaba buscando una respuesta a esto antes. Entiendo por qué mi código no funciona, pero yo sólo tenía una referencia rápida para la sintaxis de los sub los valores. No podía encontrar cualquier cosa dentro de mi primera búsqueda de google, así que pensé que iba a compartir la respuesta después de que me lo imaginé esperemos que guardar el tipo de al lado en algún momento. La publicación de P&estilo es una característica de stackoverflow. meta.stackoverflow.com/questions/290038/…
    lo que si f es una matriz de símbolos? como en a = symarray('a', 3)?

    OriginalEl autor Wesley

  2. 2

    El comando x = Symbol('x') tiendas de Sympy del Symbol('x') en Python variable x. El Sympy expresión f que se crea después no contiene Symbol('x'), no el de Python variable x.

    Al reasignar x = 0, el Python variable x se establece en cero, y no está más relacionado con Symbol('x'). Esto no tiene ningún efecto sobre la Sympy expresión, que todavía contiene Symbol('x').

    Esto se explica mejor en esta página de la Sympy documentación:
    http://docs.sympy.org/latest/gotchas.html#variables

    Lo que quiero hacer es f.subs(x,0), como se ha dicho en otras respuestas.

    lo que si f es una matriz de símbolos? como en a = symarray('a', 3)?

    OriginalEl autor Adrien

Dejar respuesta

Please enter your comment!
Please enter your name here