Resolvendo operações de Cálculo Diferencial e Integral

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)
\[\displaystyle - \sin{\left(x \right)}\]
diff(exp(x**2), x)
\[\displaystyle 2 x e^{x^{2}}\]

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)
\[\displaystyle 24 x\]

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,

\[\frac{\partial^3}{\partial z \partial y \partial x } (\text{expr})\]
expr = exp(x*y*z)
diff(expr, x, y, z)
\[\displaystyle \left(x^{2} y^{2} z^{2} + 3 x y z + 1\right) e^{x y z}\]

que é equivalente a

diff(diff(diff(expr, x),y),z)
\[\displaystyle x^{2} y^{2} z^{2} e^{x y z} + 3 x y z e^{x y z} + e^{x y z}\]

Se quisermos trabalhar com o valor simbolico colocar o D maiúsculo

deriv = Derivative(expr, x, y, z)
deriv
\[\displaystyle \frac{\partial^{3}}{\partial z\partial y\partial x} e^{x y z}\]

No entanto, se for possível resolver de forma analítica a partir da expressão simbolica usamos o `doit

deriv.doit()
\[\displaystyle \left(x^{2} y^{2} z^{2} + 3 x y z + 1\right) e^{x y z}\]

Integrais#

São suportadas tanto integrais definidas quanto indefinidas. Podemos achar somente a primitiva usando o comando integrate

integrate(cos(x), x)
\[\displaystyle \sin{\left(x \right)}\]

Para adicionar limites de integração basta trocar a variavel de integração \(x\) por \((x,0,\infty)\)

integrate(exp(-x), (x, 0, oo))
\[\displaystyle 1\]

Para realizar integrais duplas fazemos o procedimento acima duas vezes

integrate(exp(-x**2 - y**2), (x, -oo, oo), (y, -oo, oo))
\[\displaystyle \pi\]

Se preferir, pode apenas deixar a integral denotada simbolicamente

expr = integrate(x**x, x)
print(expr)
expr
Integral(x**x, x)
\[\displaystyle \int x^{x}\, dx\]

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)
\[\displaystyle 1\]

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
\[\displaystyle 1 + x + \frac{x^{2}}{2} - \frac{x^{4}}{8} - \frac{x^{5}}{15} - \frac{x^{6}}{240} + \frac{x^{7}}{90} + \frac{31 x^{8}}{5760} + \frac{x^{9}}{5670} + O\left(x^{10}\right)\]

Podemos especificar o segundo e o terceiro termo usando, x0= e n=

c = log(x).series(x, x0=1, n=6)
c
\[\displaystyle -1 - \frac{\left(x - 1\right)^{2}}{2} + \frac{\left(x - 1\right)^{3}}{3} - \frac{\left(x - 1\right)^{4}}{4} + \frac{\left(x - 1\right)^{5}}{5} + x + O\left(\left(x - 1\right)^{6}; x\rightarrow 1\right)\]

Poemos remover o simbolo das ordens superiores utilizando .remove

c.removeO()
\[\displaystyle x + \frac{\left(x - 1\right)^{5}}{5} - \frac{\left(x - 1\right)^{4}}{4} + \frac{\left(x - 1\right)^{3}}{3} - \frac{\left(x - 1\right)^{2}}{2} - 1\]

e até mesmo simplificar tal expressão

simplify(c.removeO())
\[\displaystyle \frac{x^{5}}{5} - \frac{5 x^{4}}{4} + \frac{10 x^{3}}{3} - 5 x^{2} + 5 x - \frac{137}{60}\]