Views
- State: visible
Cálculo simbólico - PY
Ejemplo de truncado con SymPy
Size
1 kB
-
File type
text/x-python-script
File contents
# Si SymPy no forma parte de la instalación, correr en una terminal:
# pip3 install sympy
# Puede requerir permisos de root. En tal caso:
# sudo pip3 install sympy
from sympy import *
###################
#Calculo el error de truncado de la discretización u'(x) \sim {-3/2 u(x) + 2u(x+h)-1/2 u(x+2h)}/h, Ej2, P1.
u = Function('u')
x = Symbol('x')
h = Symbol('h')
# Expansión de Taylor de u(x+h)
t1 = series(u(x+h),h,0,4).doit() #series(function,variable,center,degree)
# Expansión de Taylor de u(x+2h)
t2 = series(u(x+2*h),h,0,4).doit()
truncado = (-3*u(x)/2 + 2*t1 -t2/2)/h - diff(u(x),x) #diff(u(x),x) = derivada de u respecto de x.
truncado = simplify(truncado) #para que cancele todo lo que hace falta cancelar
print(truncado)
#El resultado es:
# -h**2*Derivative(u(x), (x, 3))/3 + O(h**3)
# Debe leerse: (-h^2 * derivada tercera de u, respecto de x)/3 + O(h^3).