Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

NOTEBOOKS TUTORIAL SAGEMATH

Views: 4541
%auto typeset_mode(True, display=False)

CALCULO INTEGRAL E DIFERENCIAL

Limites

Limite Simbólico

reset()
f = (x^2-1)/(x-1) f
(x^2 - 1)/(x - 1)

Olhando a função f, podemos pensar a princípio que vai ocorrer um erro quando x = 1, pois ocorrerá uma divisão por zero no denominador. Mas vamos ver o gráfico da função:

plot(f,(x,-2,2),figsize=(4, 3))
# Ao digitar "f.lim" e tecla "TAB", o comando é preenchido automaticamente limit(f, x = 1); f.limit(x = 1)
2 2

Podemos simplificar a expressão para observarmos melhor o que acontece com o limite, usamos o comando y.simplify_full().

f; f.simplify_full()
(x^2 - 1)/(x - 1) x + 1
# substitui o valor de x no calculo anterior (x+1) _.subs(x=1)
2

Limite ao infinito

g = 1/x g
1x\frac{1}{x}
limit(g,x = 0)
\infty
limit(1/x^2,x = oo)
00

Limite de função de duas variáveis

h(x,y) = (x*y^2 - x^2*y)/(x*y) h(x,y)
x2yxy2xy-\frac{x^{2} y - x y^{2}}{x y}
limit(limit(h(x,y),x=0),y=1)
11

Ou ainda

h.limit(x = 0).limit(y =1)
(x, y) |--> 1

ATENÇÃO! A princípio parece que o SAGE errou na impressão da função f(x,y), mas não! temos:

(x2yxy2)/(xy)=(x2y+xy2)/(xy)-(x^2*y - x*y^2) / (x*y) = (-x^2*y + x*y^2) / (x*y)

o SAGE faz distinção na forma de impressão da função de acordo com a ordem as variáveis, veja:

f(x,y) = (x*y^2 - x^2*y)/(x*y);
f(x,y); f(y,x)
-(x^2*y - x*y^2)/(x*y) (x^2*y - x*y^2)/(x*y)

Limite Numérico

reset()
plot((x^2-1)/(x-1),(x,-5,5), figsize=(4, 3), gridlines="minor")

Limite pela Direita

sage_eval('(x^2-1)/(x-1)', {'x':1.0000000001})
2.000000000000002.00000000000000

Limite pela esquerda

sage_eval('(x^2-1)/(x-1)', {'x':0.999999999999})
2.000000000000002.00000000000000
plot(1/(x-1),(x,0.8,1.2),figsize=(5, 4))

Limite pela direita

sage_eval('1/(x-1)',{'x':0.0000000000000000000000000001})
1.00000000000000-1.00000000000000

Limite pela esquerda

sage_eval('1/(x-1)',{'x':-0.0000000000000000000000000001})
1.00000000000000-1.00000000000000

Derivada de uma Função

Derivada Simbólica Indefinida

reset()
f = x^2+3*x
# Primeira derivada (forma que será abolida nas proximas versoes do sage) diff(f(x),x,1)
2*x + 3
/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py:947: DeprecationWarning: Substitution using function-call syntax and unnamed arguments is deprecated and will be removed from a future release of Sage; you can use named arguments instead, like EXPR(x=..., y=...) See http://trac.sagemath.org/5930 for details. exec compile(block+'\n', '', 'single') in namespace, locals
# Primeira derivada f.derivative(x,1)
2*x + 3
# Segunda derivada (forma que será abolida nas proximas versoes do sage) diff(f(x),x,2)
2
# Segunda derivada f.derivative(x,2)
2
# Terceira derivada (forma que será abolida nas proximas versoes do sage) diff(f(x),x,3)
0
# Terceira derivada f.derivative(x,3)
00

Derivada Simbólica definida

f = sin(x)*x f
xsin(x)x \sin\left(x\right)
# primeira derivada (forma que será abolida nas proximas versoes do sage) d1 = diff(f(x),x,1) d1(2); n(d1(2))
2cos(2)+sin(2)2 \, \cos\left(2\right) + \sin\left(2\right)
0.07700375373139690.0770037537313969
d1 = f.derivative(x,1) d1(2).n()
0.07700375373139690.0770037537313969
# segunda derivada d2 = diff(f(x),x,2) d2(2); n(d2(2))
2cos(2)2sin(2)2 \, \cos\left(2\right) - 2 \, \sin\left(2\right)
2.65088852674565-2.65088852674565
d2 = f.derivative(x,2) d2(2).n()
2.65088852674565-2.65088852674565

Derivada Numérica

f = x^2 - 2*x
#DN -> derivada numerica def DN(f, x , h): return (f(x + h)-f(x))/h
DN(f,0,0.0000000000000001)
<string>:1: DeprecationWarning: Substitution using function-call syntax and unnamed arguments is deprecated and will be removed from a future release of Sage; you can use named arguments instead, like EXPR(x=..., y=...) See http://trac.sagemath.org/5930 for details.
2.00000000000000-2.00000000000000

Derivada Parcial

reset()
f(x,y) = x*y + x^2 -2*y f(x,y)
x^2 + x*y - 2*y
# Primeira Derivada parcial em relação a variável x (forma que será abolida nas proximas versoes do sage) DfDx(x,y) = diff(f(x,y),x,1) DfDx(x,y)
2*x + y
# Testando para x = 0 e y = 1 DfDx(0,1)
1
# Outra forma f.derivative(x,1)
(x, y) |--> 2*x + y
# Primeira derivada parcial em relação a variável y (forma que será abolida nas proximas versoes do sage) DfDy(x,y) = diff(f,y,1) DfDy(x,y)
x - 2
# Testando para x = 0 e y = 1 DfDy(0,1)
-2
# Outra forma f.derivative(y,1)
(x, y) |--> x - 2

Máximos e Mínimos

f = cos(x) + sin(x) - x plot(f,(x,-3,2), gridlines='minor',figsize=(4, 3))

Mínimo de Funções

f.find_local_minimum(-2,1)
(0.5707963267948966, -1.5707963266908485)

Máximo de Funções

f.find_local_maximum(-2,1)
(1.0, -4.8629035716871008e-09)

Integral de uma Função

Integral Simbólica Indefinida

reset()
f = sin(x)*x f
xsin(x)x \sin\left(x\right)
plot(f,(x,-10,10),figsize=(4, 3),gridlines="minor")
df = integrate(f,x) df
xcos(x)+sin(x)-x \cos\left(x\right) + \sin\left(x\right)
plot(f,(x,-10,10),legend_label=f,figsize=(4, 3),gridlines="minor") + plot(df,(x,-10,10),legend_label=df, color="red")
f.integrate(x)
xcos(x)+sin(x)-x \cos\left(x\right) + \sin\left(x\right)

Integral Simbólica Definida

f = sin(x)*x f
xsin(x)x \sin\left(x\right)
plot(f,(x,0,1),figsize=(4, 3),gridlines="minor", fill=true)
# f(x) = sin(x)*x resultado = integrate(f(x),x,0,1) resultado; n(resultado)
-cos(1) + sin(1) 0.301168678939757
f.integrate(x,0,1).n()
0.301168678939757
print(latex(f.integrate(x,-1,1)))
-2 \, \cos\left(1\right) + 2 \, \sin\left(1\right)

Sólido de Revolução

Volume=πx1x+1f(x)2 dx Volume = \pi\int_{x-1}^{x+1} {f(x)^2} ~dx

f = sin(x)*x plot(f,(x,-5,5), figsize = (4,3))
revolution_plot3d(f,(x,-5,5),parallel_axis = 'x', show_curve = 'True')
3D rendering not yet implemented
N(pi*(f^2).integrate(x,-5,5))
158.426132164288158.426132164288

Integral Numérica

Numerical integration (known in older literature as "quadrature") is another fundamental operation in numerical mathematics.

reset()
f = sin(x)*x
numerical_integral(f,0,1)
(0.30116867893975674, 3.343644016548594e-15)
f.nintegrate(x,0,1)
(0.301168678940.30116867894, 3.34364401655×10153.34364401655 \times 10^{-15}, 2121, 00)

Função Direta

(sin(x)*x).nintegrate(x,0,1)
(0.301168678940.30116867894, 3.34364401655×10153.34364401655 \times 10^{-15}, 2121, 00)

Integral Imprópria

f= 1/(1+x^2) f
1/(x^2 + 1)
plot(f,(x,-10,10),figsize=(4, 3))
integrate(f,x,0,+oo); f.integrate(x,0,+oo)
1/2*pi 1/2*pi
integrate(f,x,-oo,+oo); f.integrate(x,-oo,+oo)
pi pi

Integração Impropria Numérica

reset()
f= 1/(1+x^2) f
1x2+1\frac{1}{x^{2} + 1}

Integração de 0 para + infinito

numerical_integral(f,0,+oo)
(1.5707963267948966, 2.5777915205519274e-10)
f.nintegrate(x,0,10^5)
(1.570786326794897, 9.937739836005583e-13, 693, 0)

Integração de -infinito para + infinito

numerical_integral(f,-oo,+oo)
(3.151332438×1012-3.151332438 \times 10^{12}, 6.10304107767×10126.10304107767 \times 10^{12})
f.nintegrate(x,-10^5,10^5)
(3.141500609963.14150060996, 1.338953984551.33895398455, 12811281, 44)

Integração Multipla

Integral Multipla Simbólica Indefinida

reset()
f(x,y) = x*y-x+y f(x,y)
xyx+yx y - x + y
plot3d(f,(x,-1,1),(y,-1,1),figsize = (6,5),gridlines='minor')
3D rendering not yet implemented
Integral Dupla Indefinida
reset()
h(x,y) = x*y-x+y
integrate(integrate(h(x,y),x),y)
1/4*x^2*y^2 - 1/2*x^2*y + 1/2*x*y^2
# forma mais compacta h.integrate(x).integrate(y)
(x, y) |--> 1/4*x^2*y^2 - 1/2*x^2*y + 1/2*x*y^2
# integral função direta integrate(integrate(x*y-x+y,x),y)
1/4*x^2*y^2 - 1/2*x^2*y + 1/2*x*y^2
# outra forma (x*y-x+y).integrate(x).integrate(y)
1/4*x^2*y^2 - 1/2*x^2*y + 1/2*x*y^2
Integral Tripla Indefinida
reset()
g(x,y,z) = x*y*z - x + y - z g(x,y,z)
x*y*z - x + y - z
integrate(integrate(integrate(g(x,y,z),x),y),z)
1/8*x^2*y^2*z^2 - 1/2*x^2*y*z + 1/2*x*y^2*z - 1/2*x*y*z^2
# Forma mais compacta g.integrate(x).integrate(y).integrate(z)
(x, y, z) |--> 1/8*x^2*y^2*z^2 - 1/2*x^2*y*z + 1/2*x*y^2*z - 1/2*x*y*z^2

Integral Multipla Simbólica Definida

Integral Dupla Simbólica Definida

y1y+1x1x+1f(x,y) dxdy \int_{y-1}^{y+1} \int_{x-1}^{x+1} {f(x,y)} ~dxdy

reset()
h(x,y) = x*y-x+y h(x,y)
x*y - x + y
integrate(integrate(h(x,y),x,x-1,x+1),y,y-1,y+1)
2*(2*x + 1)*y - 4*x + 2*y
integrate(integrate(h(x,y),x,0,1),y,0,1)
1/4

Ou mais prático

h.integrate(x,0,1).integrate(y,0,1)
1/4
Integral Tripla Definida

z1z+1y1y+1x1x+1f(x,y) dxdy \int_{z-1}^{z+1} \int_{y-1}^{y+1} \int_{x-1}^{x+1} {f(x,y)} ~dxdy

g(x,y,z) = x*y*z-x+y-z g(x,y,z)
x*y*z - x + y - z
integrate(integrate(integrate(g(x,y,z),x,x-1,x+1),y,y-1,y+1),z,0,1)
2*(x + 2)*y - 4*x - 2
g.integrate(x, x - 1, x + 1).integrate(y,y-1,y+1).integrate(z,0,1)
2*(x + 2)*y - 4*x - 2
g.integrate(x,0,1).integrate(y,0,y+1).integrate(z,0,1)
5/8*y^2 + 1/4*y - 3/8

Integral Multipla Numérica

Integral Multipla Dupla Numérica

reset()
h(x,y) = x*y - x + y h(x,y)
x*y - x + y
numerical_integral(lambda y: numerical_integral(lambda x: h(x,y), 0,1)[0], 0, 1)
(0.25, 4.626654323992025e-15)

Integral Multpla Tripla Numérica

reset()
g(x,y,z) = x*y*z - x + y - z g
(x, y, z) |--> x*y*z - x + y - z
numerical_integral(lambda z: numerical_integral(lambda y: numerical_integral(lambda x: g(x,y,z), 0,1)[0], 0, 1)[0],0,1)
(-0.375, 4.163336342344337e-15)

%%% FIM CALCULO INTEGRAL E DIFERENCIAL %%%%