Python: La libreria Sympy. La costruzione delle espressioni. La funzione sympify

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Costruzione delle espressioni

Le espressioni matematiche si compongono utilizzando i simboli dichiarati, funzioni riconosciute da SymPy e numeri, combinati con gli operatori aritmetici del linguaggio Python (+ – */ **).

Forse potrebbe interessarti anche:  Python: La libreria Sympy. La dichiarazione dei simboli

L’espressione può essere inserita in una variabile, creando così un oggetto espressione dotato di funzioni membro.

ESEMPIO

e = sin(x)**2 + cos(x)**2 - x + 2*x*y

crea l’oggetto e contenente l’espressione matematica

sin2(x) + cos2(x) − x + 2xy

 

Possiamo creare un’espressione da una stringa utilizzando la sintassi:

<nome_espressione> = sympify('<stringa>')
<nome_espressione> = sympify(<nome_stringa>)

La stringa può essere un nome o una frase qualsiasi ma, ovviamente, a noi servirà che sia un’espressione matematica.
Nel primo caso scriviamo la stringa tra le parentesi e tra apici: cosa che potevamo fare senza disturbare stringhe e sympify.
Nel secondo caso importiamo una variabile stringa già esistente con un suo nome.

ESEMPIO
from sympy import * e = 'sin(x)**2 + cos(x)**2 - x + 2*x*y' espr = sympify(e) espr
La libreria Sympy costruzione delle espressioni
Attenzione a non confondere la funzione sympify con la funzione simplify che, come vedremo, fa tutt’altre cose.

La funzione sympify

Questa funzione ci dà modo di acquisire come espressione matematica elaborabile in SymPy un’espressione generata al di fuori di SymPy, per esempio introdotta dall’utente da tastiera come risposta all’invito di input da uno script Python.

Esempi:

e = sympify('4*x**2-5')

crea l’oggetto e contenente l’espressione matematica 4x2 − 5

e = sympify(formula)

crea l’oggetto e che contiene l’espressione contenuta in una stringa denominata formula.

Sostituzione di simboli

Le espressioni matematiche di SymPy sono immutabili.
E’ tuttavia possibile generare altre espressioni matematiche sostituendo un simbolo di una espressione matematica con un altro simbolo o valore numerico con la sintassi:

<espressione>.subs(<simbolo_da_sostituire>, <simbolo_o_valore_in_sostituzione>)

ESEMPIO

from sympy import * e = sympify('4*x**2-5') e
from sympy import * x = Symbol('x') y = Symbol('y') e = sympify('4*x**2-5') e = e.subs(x, y) e
la funzione subs
Forse potrebbe interessarti anche:  Python: La libreria Sympy