Resolvendo operações de Cálculo Diferencial e Integral#
As operações de cálculo são fáceis de realizar no sympy
from sympy import init_session
init_session(use_latex="mathjax")
IPython console for SymPy 1.14.0 (Python 3.11.12-64-bit) (ground types: python)
These commands were executed:
>>> from sympy import *
>>> x, y, z, t = symbols('x y z t')
>>> k, m, n = symbols('k m n', integer=True)
>>> f, g, h = symbols('f g h', cls=Function)
>>> init_printing()
Documentation can be found at https://docs.sympy.org/1.14.0/
Derivadas#
Para derivar alguma função utilizamos o comando diff
diff(cos(x), x)
diff(exp(x**2), x)
No caso de aplicarmos derivada de ordens superiores, adicionamos um terceiro arumento referente a ordem. No exemplo abaixo calculamos a derivada de terceira ordem
diff(x**4, x, 3)
Podemos também fazer derivadas em relação a diversas variaveis.
O comando diff(expr, x, y, z) calcula a derivada de expr em relação a \(x\), \(y\), e \(y\), primeiro em relação a \(x\), depois em relação a \(y\), e, por último, em relação a \(z\), ou seja,
expr = exp(x*y*z)
diff(expr, x, y, z)
que é equivalente a
diff(diff(diff(expr, x),y),z)
Se quisermos trabalhar com o valor simbolico colocar o D maiúsculo
deriv = Derivative(expr, x, y, z)
deriv
No entanto, se for possível resolver de forma analítica a partir da expressão simbolica usamos o `doit
deriv.doit()
Integrais#
São suportadas tanto integrais definidas quanto indefinidas. Podemos achar somente a primitiva usando o comando integrate
integrate(cos(x), x)
Para adicionar limites de integração basta trocar a variavel de integração \(x\) por \((x,0,\infty)\)
integrate(exp(-x), (x, 0, oo))
Para realizar integrais duplas fazemos o procedimento acima duas vezes
integrate(exp(-x**2 - y**2), (x, -oo, oo), (y, -oo, oo))
Se preferir, pode apenas deixar a integral denotada simbolicamente
expr = integrate(x**x, x)
print(expr)
expr
Integral(x**x, x)
Limites#
Para evoluir o limite de uma função, utilizamos limit, sendo que:
O primeiro argumento sendo a função
O segundo argumento sendo a variavel que irá tender a algo.
O terceiro o valor que o segundo argumento irá tender
limit(sin(x)/x, x, 0)
Expansão de Séries#
Podemos realizar a expansão em série de Taylor de Funções utilizando o comando .series. Os argumentos são:
Expressão que queremos expandir
Em torno de qual valor estamos realizando a expansão
Qual ordem queremos truncar a série
expr = exp(sin(x))
a = expr.series(x, 0, 10)
a
Podemos especificar o segundo e o terceiro termo usando, x0= e n=
c = log(x).series(x, x0=1, n=6)
c
Poemos remover o simbolo das ordens superiores utilizando .remove
c.removeO()
e até mesmo simplificar tal expressão
simplify(c.removeO())