11 - CALCULO-DIFERENCIAL-INTEGRAL

496 days ago by jmarcellopereira

CALCULO INTEGRAL E DIFERENCIAL

 
       

LIMITES DE UMA FUNÇÃO

Limite Simbólico

reset() 
       
f = (x^2-1)/(x-1) f 
       
(x^2 - 1)/(x - 1)
(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=(6,5)) 
       
# Ao digitar "f.lim" e tecla "TAB", o comando é preenchido automaticamente limit(f,x=1); f.limit(x=1) 
       
2
2
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
(x^2 - 1)/(x - 1)
x + 1
# substitui o valor de x no calculo anterior (x+1) _.subs(x=1) 
       
2
2

Limite ao infinito

g = 1/x g 
       
1/x
1/x
limit(g,x=0) 
       
Infinity
Infinity
limit(1/x^2,x=oo) 
       
0
0

Limite de função de duas variáveis

h(x,y) = (x*y^2 - x^2*y)/(x*y) h(x,y); 
       
-(x^2*y - x*y^2)/(x*y)
-(x^2*y - x*y^2)/(x*y)
limit(limit(h(x,y),x=0),y=1) 
       
1
1

Ou ainda

h.limit(x=0).limit(y=1) 
       
(x, 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:

-(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)
-(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=(6,5), gridlines="minor") 
       

Limite pela direita

sage_eval(('f(x) = (x^2-1)/(x-1)','f(1.000000000000001)')) 
       
2.00000000000000
2.00000000000000

Limite pela esquerda

sage_eval(('f(x) = (x^2-1)/(x-1)','f(0.9999999999999999)')) 
       
2.00000000000000
2.00000000000000
plot(1/(x-1),(x,0,2),figsize=(10,5)) 
       

Limite pela direita

sage_eval(('f(x) = 1/(x-1)','f(1.0000000000000000000000000001)')) 
       
9.903520314283042199192993792e27
9.903520314283042199192993792e27

Limite pela esquerda

sage_eval(('f(x) = 1/(x-1)','f(0.9999999999999999999999999999)')) 
       
-9.90352031428304219919299379e27
-9.90352031428304219919299379e27

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) 
       
/home/jmarcellopereira/SageMath/local/lib/python2.7/site-packages/sage/a\
ll_notebook.py:4: 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*x + 3
/home/jmarcellopereira/SageMath/local/lib/python2.7/site-packages/sage/all_notebook.py:4: 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*x + 3
# Primeira derivada f.derivative(x,1) 
       
2*x + 3
2*x + 3
# Segunda derivada (forma que será abolida nas proximas versoes do sage) diff(f(x),x,2) 
       
2
2
# Segunda derivada f.derivative(x,2) 
       
2
2
# Terceira derivada (forma que será abolida nas proximas versoes do sage) diff(f(x),x,3) 
       
0
0
# Terceira derivada f.derivative(x,3) 
       
0
0

Derivada Simbólica definida

f = sin(x)*x f 
       
x*sin(x)
x*sin(x)
# primeira derivada (forma que será abolida nas proximas versoes do sage) d1 = diff(f(x),x,1) d1(2); n(d1(2)) 
       
/home/jmarcellopereira/SageMath/local/lib/python2.7/site-packages/sage/a\
ll_notebook.py: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.
  """
/home/jmarcellopereira/SageMath/local/lib/python2.7/site-packages/sage/a\
ll_notebook.py:6: 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.
  from sage.all import *
2*cos(2) + sin(2)
0.0770037537313969
/home/jmarcellopereira/SageMath/local/lib/python2.7/site-packages/sage/all_notebook.py: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.
  """
/home/jmarcellopereira/SageMath/local/lib/python2.7/site-packages/sage/all_notebook.py:6: 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.
  from sage.all import *
2*cos(2) + sin(2)
0.0770037537313969
d1 = f.derivative(x,1) d1(2).n() 
       
1.00000000000000
1.00000000000000
# segunda derivada d2 = diff(f(x),x,2) d2(2); n(d2(2)) 
       
0
0.000000000000000
0
0.000000000000000
d2 = f.derivative(x,2) d2(2).n() 
       
-2.65088852674565
-2.65088852674565

Derivada Numérica

 
       

Derivada Parcial

reset() 
       
f(x,y) = x*y + x^2 -2*y f(x,y) 
       
x^2 + x*y - 2*y
x^2 + x*y - 2*y
# Primeira Derivada parcial em relação a variável x DfDx(x,y) = diff(f(x,y),x,1) DfDx(x,y) 
       
2*x + y
2*x + y
# Testando para x = 0 e y = 1 DfDx(0,1) 
       
1
1
# Primeira derivada parcial em relação a variável y DfDy(x,y) = diff(f,y,1) DfDy(x,y) 
       
x - 2
x - 2
# Testando para x = 0 e y = 1 DfDy(0,1) 
       
-2
-2

MÁXIMOS E MÍNIMOS

def f_0(x): return x^2 - 7*x - 1 
       
plot(f_0,(x,-2,5), gridlines='minor',figsize=(4, 3)) 
       
from scipy.optimize import fmin fmin(f_0,0) 
       
Optimization terminated successfully.
         Current function value: -13.250000
         Iterations: 28
         Function evaluations: 56
array([ 3.5])
Optimization terminated successfully.
         Current function value: -13.250000
         Iterations: 28
         Function evaluations: 56
array([ 3.5])
 
       

INTEGRAL DE UMA FUNÇÃO

Integral Simbólica Indefinida

reset() 
       
f = sin(x)*x f 
       
x*sin(x)
x*sin(x)
plot(f,(x,-10,10),figsize = (6,5),gridlines="minor") 
       
df = integrate(f,x) df 
       
-x*cos(x) + sin(x)
-x*cos(x) + sin(x)
plot(f,(x,-10,10),legend_label=f,figsize = (6,5),gridlines="minor") + plot(df,(x,-10,10),legend_label=df, color="red") 
       
f.integrate(x) 
       
-x*cos(x) + sin(x)
-x*cos(x) + sin(x)

Integral Simbólica Definida

f = sin(x)*x 
       
plot(f,(x,0,1),figsize = (6,5),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
-cos(1) + sin(1)
0.301168678939757
f.integrate(x,0,1).n() 
       
0.301168678939757
0.301168678939757

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)
(0.30116867893975674, 3.343644016548594e-15)
f.nintegrate(x,0,1) 
       
(0.3011686789397568, 3.343644016548596e-15, 21, 0)
(0.3011686789397568, 3.343644016548596e-15, 21, 0)

Função direta

(sin(x)*x).nintegrate(x,0,1) 
       
(0.3011686789397568, 3.343644016548596e-15, 21, 0)
(0.3011686789397568, 3.343644016548596e-15, 21, 0)

Integral Imprópria

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

Integração Impropria Numérica

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

Integração de 0 para + infinito

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

Integração de -infinito para + infinito

numerical_integral(f,-oo,+oo) 
       
(3.141592653589793, 5.155583041103855e-10)
(3.141592653589793, 5.155583041103855e-10)
f.nintegrate(x,-10^5,10^5) 
       
(3.141500609956467, 1.338953984548012, 1281, 4)
(3.141500609956467, 1.338953984548012, 1281, 4)

Integração Multipla

Integral Multipla Simbólica Indefinida

reset() 
       
f(x,y) = x*y-x+y f(x,y) 
       
x*y - x + y
x*y - x + y
plot3d(f,(x,-1,1),(y,-1,1),figsize = (6,5),gridlines='minor') 
       

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
1/4*x^2*y^2 - 1/2*x^2*y + 1/2*x*y^2
h.integrate(x).integrate(y) 
       
(x, y) |--> 1/4*x^2*y^2 - 1/2*x^2*y + 1/2*x*y^2
(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
1/4*x^2*y^2 - 1/2*x^2*y + 1/2*x*y^2

Função direta

(x*y-x+y).integrate(x).integrate(y) 
       
1/4*x^2*y^2 - 1/2*x^2*y + 1/2*x*y^2
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
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
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
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
(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 Dupla Simbólica Definida

reset() 
       
h(x,y) = x*y-x+y h(x,y) 
       
x*y - x + y
x*y - x + y
$ \int_{y-1}^{y+1} \int_{x-1}^{x+1} {f(x,y)} ~dxdy $
integrate(integrate(h(x,y),x,x-1,x+1),y,y-1,y+1) 
       
2*(2*x + 1)*y - 4*x + 2*y
2*(2*x + 1)*y - 4*x + 2*y
integrate(integrate(h(x,y),x,0,1),y,0,1) 
       
1/4
1/4

Ou mais prático

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

Integral Multipla Tripla Definida

g(x,y,z) = x*y*z-x+y-z g(x,y,z) 
       
x*y*z - 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
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
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
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
x*y - x + y
numerical_integral(lambda y: numerical_integral(lambda x:h(x,y), 0,1)[0], 0, 1) 
       
(0.25000000000000006, 4.626654323992025e-15)
(0.25000000000000006, 4.626654323992025e-15)

Integral Multpla Tripla Numérica

g(x,y,z) = x*y*z-x+y-z g(x,y,z) 
       
x*y*z - 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)
(-0.375, 4.163336342344337e-15)

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