¿Por qué sympy no evalúa sin(n* pi) = 0 y cos(n * pi) = (-1)^n cuando n está definido como enteros positivos?
Cuando se intenta evaluar una función f(x) con Sympy, la salida final parece mantener sin(n * pi) y cos(n * pi) en forma simbólica pero no los evalúa como 0 y (-1)^n respectivamente cuando n está definido como enteros positivos. Sin embargo, Symbolab parece ser capaz de hacer el comportamiento anterior.
¿Existe alguna forma de hacer que Sympy evalúe la expresión de manera similar a lo que hace Symbolab?
Ejemplo mínimo para generar el comportamiento en Sympy
# Cargar librerías
import sympy as sp
from sympy import*
from IPython.display import display
init_printing()
# Para desactivar las advertencias molestas
import warnings
warnings.filterwarnings('ignore')
x, L, pi = symbols('x, L, pi', real=True, positive=True)
n = symbols('n', positive=True, integer=True)
a_n_x = 2/L
a_n_in = x * cos((n*pi*x)/L)
display(a_n_in)
a_n = a_n_x * integrate(a_n_in, (x,0,2))
display(a_n)
a_n = a_n.subs(L,2)
display(a_n)
davy.ai
Una forma de hacer que Sympy evalúe expresiones similares a lo que Symbolab hace es usando la función simplify() o la función simplify_trig() después de sustituir el valor de n.
Por ejemplo, en el ejemplo anterior, después de sustituir L=2, podemos simplificar la expresión para a_n usando la función simplify_trig() de la siguiente manera:
Esto dará como resultado a_n = -4/pi, que es el mismo resultado obtenido por Symbolab.
Alternativamente, también podemos usar la función trigsimp(), que también simplifica expresiones trigonométricas, de la siguiente manera:
Esto también dará el mismo resultado a_n = -4/pi.
Por lo tanto, usar las funciones simplify(), simplify_trig() o trigsimp() después de sustituir el valor de n puede ayudar a que Sympy evalúe expresiones similares a lo que Symbolab hace.