Prévia do material em texto
FERRAMENTAS MATEMÁTICAS
APLICADAS
AULA 4
Prof. Ricardo Alexandre Deckmann Zanardini
2
CONVERSA INICIAL
O ponto que separa a matemática elementar da matemática avançada é
o cálculo diferencial e integral, que aborda principalmente derivadas e integrais.
O cálculo é bastante utilizado na resolução de problemas envolvendo movimento
e taxas de variação, e em muitas outras áreas. Nesta aula veremos como é
possível utilizarmos o Python para a resolução de problemas relacionados às
derivadas e às integrais. Veremos também aplicações de derivadas em
problemas de máximos e mínimos em duas e em três dimensões, aplicações das
integrais no cálculo de áreas, além de outros exemplos.
TEMA 1 – DERIVADAS
A derivada está associada ao cálculo de taxa de variação e,
geometricamente, à inclinação de uma reta tangente a uma curva. Se f é uma
função e f’ é a sua derivada, temos que
x
xfxxf
xf
x
)()(
lim)('
0
.
Uma das aplicações das derivadas é a determinação de máximos e
mínimos de funções. Na Física, é muito importante na resolução de problemas
relacionados à velocidade e à aceleração de objetos.
Muitos problemas que envolvem movimento podem ser resolvidos com o
uso das derivadas. A partir da definição de derivada, é possível concluir que a
derivada de f(x) = x2 corresponde a f’(x) = 2x, e a derivada de f(x) = x3
corresponde a f’(x) = 3x2, entre outras.
Há fórmulas destinadas à obtenção da derivada, mas também podemos
utilizar o comando “diff()” da biblioteca “sympy” do Python.
A essência é, no comando, especificarmos qual é a função e qual é a
variável de referência para a derivação.
Por exemplo, se temos a função “f=2*x” e queremos obter a respectiva
derivada em relação a “x”, o comando é dado por “diff(f, x)”.
Temos a seguir um exemplo com uma sequência de funções, em que o
objetivo é obter as respectivas derivadas:
Exemplo:
Calcule, por meio do Python, a derivada primeira de cada uma das
seguintes funções:
3
a. f(x)=-2x3-4x2+13x-1
b. g(x)=2x+ln(x)
c. h(x)=sen(x)
d. r(x)=tg(x)
e. q(x)=sen(x)cos(x)
f. v(x)= xx 52
g. t(x)=
62
43
3
2
x
xx
Resolução:
a.
from sympy import *
x,f=symbols("x f")
f=-2*x**3-4*x**2+13*x-1
diff(f, x)
b.
from sympy import *
x,g=symbols("x g")
g=2*x+ln(x)
diff(g, x)
4
c.
from sympy import *
x,h=symbols("x h")
h=sin(x)
diff(h, x)
d.
from sympy import *
x,r=symbols("x r")
r=tan(x)
diff(r, x)
e.
from sympy import *
x,q=symbols("x q")
q=sin(x)*cos(x)
diff(q, x)
5
f.
from sympy import *
x,v=symbols("x v")
v=(x**2-5*x)**(1/2)
diff(v, x)
g.
from sympy import *
x,t=symbols("x t")
t=(3*x**2-4*x)/(2*x**3+6)
diff(t, x)
Podemos derivar sucessivamente as funções. Derivando a primeira vez,
temos a derivada primeira. Se derivarmos novamente essa função, temos a
derivada segunda, e assim por diante.
6
Exemplo:
Calcule, por meio do Python, a derivada segunda de cada uma das
seguintes funções:
a. f(x)=-2x3-4x2+13x-1
b. g(x)=2x+ln(x)
c. h(x)=sen(x)
a.
from sympy import *
x,f=symbols("x f")
f=-2*x**3-4*x**2+13*x-1
diff(f, x, 2)
b.
from sympy import *
x,g=symbols("x g")
g=2*x+ln(x)
diff(g, x, 2)
c.
from sympy import *
x,h=symbols("x h")
h=sin(x)
diff(h, x, 2)
7
TEMA 2 – MÁXIMOS E MÍNIMOS
Uma das aplicações da derivada consiste na obtenção de máximos e
mínimos de função, uma das principais metas de problemas de otimização. Mas
como é que podemos identificar se uma função possui um ponto de máximo ou
de mínimo? Uma das possibilidades é por meio da derivada da função. Em
pontos de máximo ou de mínimo, a inclinação da reta tangente à função nesses
pontos é igual a zero. Mas é importante ressaltar que nem sempre derivada igual
a zero indica um ponto de máximo ou de mínimo. Por isso, é preciso utilizar a
derivada segunda. Se a derivada segunda, calculada no ponto onde a derivada
primeira é igual a zero, corresponde a um valor positivo, o ponto é de mínimo;
se o valor for negativo, o ponto é de máximo.
Podemos entender melhor acompanhando um exemplo. A relação entre
o preço de venda x de um modelo de aparelho de telefone celular e o lucro y
referente à comercialização desse aparelho é dado pela função y=-4x2+4000x-
200000. Sendo assim, qual é o preço de venda que maximiza o lucro? Qual é o
lucro máximo?
Resolução:
from sympy import *
x,y = symbols("x y")
y=-4*x**2+4000*x-200000
df=diff(y, x)
d2f=diff(y, x, 2)
p=solve(Eq(df,0))
l=y.subs(x, p[0])
8
ds=d2f.subs(x, p[0])
print('Preço ótimo: ',p[0])
print('Lucro máximo: ',l)
print('Derivada segunda: ',ds)
Nesse exemplo, chamamos de “df” a derivada primeira e “d2f” a derivada
segunda. Para saber qual ou quais são os pontos onde a derivada é igual a zero,
temos o comando “p=solve(Eq(df,0))”. O resultado é armazenado em um vetor.
Substituímos esse valor na função para encontrar o respectivo lucro. Também
substituímos esse valor na derivada segunda para saber se o ponto é de máximo
ou de mínimo. Como a derivada segunda nesse ponto é igual a -8, o ponto é um
máximo.
Vejamos mais alguns exemplos.
Exemplo:
O custo c referente à produção diária de x unidades de um certo item
corresponde a c(x)=x2-20x+300. Qual é o nível de produção que minimiza o
custo? Faça o gráfico.
Resolução:
Nível de produção que minimiza o custo:
from sympy import *
x,c = symbols("x c")
c=x**2-20*x+300
9
df=diff(c, x)
d2f=diff(c, x, 2)
p=solve(Eq(df,0))
ds=d2f.subs(x, p[0])
print('Produção ótima: ',p[0])
print('Derivada segunda: ',ds)
Gráfico:
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,25,100)
c=x**2-20*x+300
plt.plot(x, c)
plt.show()
10
Exemplo:
Uma indústria de carne congelada realizou um estudo e chegou à
conclusão de que o lucro mensal L(x) é dado em função do preço x do quilo da
carne congelada e essa relação é descrita pela função L(x)=-120x2+4800x.
Determine para qual valores de x o lucro mensal é máximo.
Resolução:
from sympy import *
x,L = symbols("x L")
L=-120*x**2+4800*x
df=diff(L, x)
d2f=diff(L, x, 2)
p=solve(Eq(df,0))
ds=d2f.subs(x, p[0])
print('Preço ótimo: ',p[0])
print('Derivada segunda: ',ds)
Exemplo:
A função f(x)=-0,04185x4+2,52027x3-54,81718x2+509,27586x-
1624,86959 descreve a variação do consumo de lanches em uma praça de
alimentação de um centro comercial, em que x é o horário, das 12 às 22 horas,
e f(x) é o respectivo consumo em unidades vendidas. Em que horário o consumo
foi máximo? Em qual horário o consumo foi mínimo? Faça o gráfico.
11
Resolução:
Obtenção dos pontos de máximo e de mínimo:
from sympy import *
x,f = symbols("x f")
f=-0.04185*x**4+2.52027*x**3-54.81718*x**2+509.27586*x-1624.86959
df=diff(f, x)
d2f=diff(f, x, 2)
p=solve(Eq(df,0))
print(p)
print('Mínimo: ',p[1])
print('Máximo: ',p[2])
Gráfico:
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(12,22,100)
f=-0.04185*x**4+2.52027*x**3-54.81718*x**2+509.27586*x-1624.86959
plt.plot(x, f)
plt.show()
12
Exemplo:
Um objeto se desloca em linha reta e a relação entre a distância
considerada em metros do objeto à origem e o tempo em segundos é dada por
s=2t2+3t. Sabendo que a velocidade corresponde à derivada de s em relação a
t, determine a velocidade do objeto quando t=2 segundos.
Resolução:
from sympy import *
s,t = symbols("s t")
s=2*t**2+3*t
ds=diff(s, t)
v=s.subs(ds, 2)
print('Velocidade: %.2f m/s ' % v)
13
TEMA 3 – OTIMIZAÇÃO EM 3D
Além da otimização de funções de uma variável, podemos trabalhar com
resolução de problemas de otimização envolvendo várias variáveis.
Nesse caso, precisamos calcular as derivadas parciais, ou seja, a
derivadaprimeira da função em relação a cada uma das variáveis, e em seguida
igualar cada uma dessas funções a zero, para obter os pontos críticos. Para
saber se um ponto crítico fornece um máximo, mínimo, ou ponto de sela,
precisamos calcular as derivadas segundas da função e o determinante D, dado
por
D=fxx . fyy – fxy . fyx
Temos que fxx é a derivada segunda da função, ambas em relação a x; fyy
é a derivada segunda da função, ambas em relação a y; fxy é a derivada segunda,
primeiro em relação a x e depois em relação a y; e fyx é a derivada segunda,
primeiro em relação a y e depois em relação a x. Pelo teste da derivada segunda,
temos:
Se D > 0 e fxx > 0, então f tem um ponto de mínimo;
Se D > 0 e fxx < 0, então f tem um ponto de máximo;
Se D < 0, então f tem um ponto de sela;
Se D = 0, então nada podemos concluir.
Exemplo:
Dada a função f(x,y)=x2+y2, faça o gráfico e em seguida obtenha e
classifique os pontos críticos.
Resolução:
import matplotlib.pyplot as plt
14
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
xx=np.linspace(-5,5,100)
yy=np.linspace(-5,5,100)
x,y=np.meshgrid(xx,yy)
f=x**2+y**2
fig=plt.figure()
ax=plt.axes(projection='3d')
ax.plot_surface(x,y,f)
from sympy import *
x,y,f = symbols("x y f")
f=x**2+y**2
fx=diff(f, x)
fy=diff(f, y)
15
fxx=diff(f, x, 2)
fyy=diff(f, y, 2)
fxy=diff(fx,y)
fyx=diff(fy,x)
px=solve(Eq(fx,0))
py=solve(Eq(fy,0))
fxxp=fxx.subs({x:px[0], y:py[0]})
fyyp=fyy.subs({x:px[0], y:py[0]})
fxyp=fxy.subs({x:px[0], y:py[0]})
fyxp=fyx.subs({x:px[0], y:py[0]})
D=fxxp*fyyp-fxyp*fyxp
print('Solução: (%.2f, %.2f)' % (px[0], py[0]))
print('Determinante: ',D)
print('Derivada segunda em relação a x: ',fxxp)
16
A solução ótima é P(0, 0). Como D = 4 > 0 e fxx = 2 > 0, então o ponto P é
um minimizador de f.
Exemplo:
Considerando a função f(x,y)=(1-x2)2+100(y-x2)2, faça o gráfico e em
seguida determine e classifique os pontos críticos.
Resolução:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
xx=np.linspace(-5,5,100)
yy=np.linspace(-5,5,100)
x,y=np.meshgrid(xx,yy)
f=(1-x**2)**2+100*(y-x**2)**2
fig=plt.figure()
ax=plt.axes(projection='3d')
ax.plot_surface(x,y,f)
17
from sympy import *
x,y,f = symbols("x y f")
f=(1-x)**2+2*(3-y)**2
fx=diff(f, x)
fy=diff(f, y)
fxx=diff(f, x, 2)
fyy=diff(f, y, 2)
fxy=diff(fx,y)
fyx=diff(fy,x)
px=solve(Eq(fx,0))
py=solve(Eq(fy,0))
fxxp=fxx.subs({x:px[0], y:py[0]})
fyyp=fyy.subs({x:px[0], y:py[0]})
fxyp=fxy.subs({x:px[0], y:py[0]})
fyxp=fyx.subs({x:px[0], y:py[0]})
D=fxxp*fyyp-fxyp*fyxp
print('Solução: (%.2f, %.2f)' % (px[0], py[0]))
print('Determinante: ',D)
print('Derivada segunda em relação a x: ',fxxp)
18
Para esse problema, a solução ótima corresponde a P(1, 3). Como D =
8 > 0 e fxx =2 > 0, então o ponto P é um minimizador de f.
TEMA 4 – INTEGRAIS
A integral é um importante tema do cálculo diferencial e integral, e está
associada ao inverso da derivada, também conhecida como antiderivada. Se
temos uma função cuja derivada corresponde a f’(x)=2x, por exemplo, a integral
indefinida dessa função corresponde a f(x)=x2+C. O termo “C” se refere a uma
constante, pois a derivada de uma constante é igual a zero. Quando fazemos o
processo inverso, ou seja, quando calculamos a integral, não sabemos qual era
o valor da constante. Além da integral indefinida, temos a integral definida, que
está associada ao cálculo de área e de volume, dentre outras aplicações.
Existem fórmulas para que obter integrais algebricamente. Nem todas as
funções possuem a respectiva integral. Além da forma algébrica, também
podemos utilizar o Ptthon para obter integrais, tanto definidas quanto indefinidas.
O comando é “integrate()” e pertence à biblioteca “sympy”.
Vamos ver como é possível calcular a integral indefinida:
Exemplo:
Calcule, por meio do Python, se possível, a integral indefinida de cada
uma das seguintes funções:
19
a. f(x)=-2x3-4x2+13x-1
b. g(x)=2x+ln(x)
c. h(x)=sen(x)
d. r(x)=tg(x)
e. q(x)=sen(x)cos(x)
f. v(x)= xx 52
Resolução:
a.
from sympy import *
x,f=symbols("x f")
f=-2*x**3-4*x**2+13*x-1
integrate(f, x)
b.
from sympy import *
x,g=symbols("x g")
g=2*x+ln(x)
integrate(g, x)
c.
from sympy import *
20
x,h=symbols("x h")
h=sin(x)
integrate(h, x)
d.
from sympy import *
x,r=symbols("x r")
r=tan(x)
integrate(r, x)
e.
from sympy import *
x,q=symbols("x q")
q=sin(x)*cos(x)
integrate(q, x)
f.
from sympy import *
21
x,v=symbols("x v")
v=(x**2-5*x)**(1/2)
integrate(v, x)
Exemplo:
Utilizando o Python, calcule a integral definida da função f(x)=-2x3-
4x2+13x-1 no intervalo [1, 2].
Resolução:
from sympy import *
x,f=symbols("x f")
f=-2*x**3-4*x**2+13*x-1
integrate(f, (x, 1, 2)))
A integral definida corresponde a 5/3.
A seguir, veremos como é possível utilizar as integrais para o cálculo de
áreas.
TEMA 5 – ÁREAS
As integrais definidas podem ser utilizadas para o cálculo de áreas.
Vejamos alguns exemplos.
Exemplo:
Seja a função f(x)=x2. Obtenha a área entre o gráfico de f e o eixo x no
intervalo [0, 2]. Faça o gráfico.
22
Resolução:
Área:
from sympy import *
x,f=symbols("x f")
f=x**2
integrate(f, (x, 0, 2))
Gráfico:
import matplotlib.pyplot as plt
import numpy as np
import sympy as sy
x=np.linspace(-1,3,1000)
f=x**2
plt.plot(x,f,color='blue')
plt.axhline(color='blue')
plt.fill_between(x, f, where=[(x>0) and (x<2) for x in x],color='green')
23
A área corresponde a 8/3. Para a construção do gráfico, foi utilizado o
comando “plt.fill.between()” para o preenchimento da região de x=0 a x=2.
Exemplo:
Qual é a área abaixo da curva y=x3, de x=1 a x=3?
Resolução:
import matplotlib.pyplot as plt
from sympy import *
import numpy as np
x,f=symbols("x f")
f=x**3
A=integrate(f, (x, 1, 3))
x=np.linspace(0.5,3.5,1000)
f=x**3
plt.plot(x,f,color='blue')
plt.axhline(color='blue')
plt.fill_between(x, f, where=[(x>1) and (x<3) for x in x],color='magenta')
print('Área:', A)
24
Exemplo:
Calcule a área limitada pelo gráfico da função y=-x2+4x+1 e pelo eixo x.
Resolução:
import matplotlib.pyplot as plt
from sympy import *
import numpy as np
x,f=symbols("x f")
f=-x**2+4*x+1
coeff=[-1, 4, 1]
r=np.roots(coeff)
A=integrate(f, (x, min(r), max(r)))
x=np.linspace(min(r)-0.5,max(r)+0.5,1000)
f=-x**2+4*x+1
plt.plot(x,f,color='blue')
25
plt.axhline(color='blue')
plt.fill_between(x, f, where=[(x>min(r)) and (x<max(r)) for x in x],color='yellow')
print('Área:', A)
Exemplo:
Calcule a área limitada pelos gráficos das funções y=2x e y=1/x, com x
variando de 1 a 4.
Resolução:
import matplotlib.pyplot as plt
from sympy import *
import numpy as np
x,f,g=symbols("x f g")
f=2*x
g=1/x
A=integrate((f-g), (x, 1, 4))
26
x=np.linspace(0.5,4.5,1000)
f=2*x
g=1/x
plt.plot(x,f,color='blue')
plt.plot(x,g,color='red')
plt.axhline(color='black')
plt.fill_between(x, f, g, where=[(x>1) and (x<4) for x in x],color='magenta')
print('Área:', A)
FINALIZANDO
Vimos nesta aula como é possível calcular derivadas e integrais de
funções utilizando o Python. Aprendemos a resolver problemas de otimização,
tanto em duas quanto em três dimensões. Vimos também como proceder para
calcular áreas por meio da integração.
27
REFERÊNCIAS
CASTANHEIRA, N. P. Matemática aplicada. 3 ed. Curitiba: Ibpex, 2010.
DEMANA, F. D.; WAITS, B. K.; FOLEY, G. D.; KENNEDY, D. Pré-cálculo. 2. ed.
São Paulo, Pearson, 2013.
FLEMING, D. M.; GONÇALVES, M. B. Cálculo A: função de uma variável. 2 ed.
São Paulo: Pearson, 2007.
PERKOVIC, L. Introdução à computação usando Python: um focono
desenvolvimento de aplicações. Rio de Janeiro: LTC, 2016.