3. 3.1 Alguns conceitos de cálculo Derivada de uma função Para calcular a derivada de uma função, usa-se o comando diff. O primeiro argumento deverá ser uma função de uma ou mais variáveis, o segundo argumento é a variável em ordem à que vai ser derivada a função, e um terceiro argumento optativo, que indica a ordem da derivação (se não aparecer entender-se-á que se trata de uma derivada de primeria ordem). Alguns exemplos: (C1) (D1) diff(x^n, x); nxn−1 Podemos usar o apóstrofo para que maxima nos mostre, em notação matemática, o cálculo que está a ser feito: (C2) (D2) ’diff(exp(a*x), x) = diff(exp(a*x), x); (C3) (D3) ’diff(sin(x), x, 2) = diff(sin(x), x, 2); deax = aeax dx d2 sin x = − sin x dx2 Se a função a ser derivada depende de várias variáveis, pode escrever-se uma lista de variáveis de derivação, seguida cada uma da sua ordem (nesse caso 21 não pode ser omitida a ordem de derivação), para calcular derivadas parciais. Por exemplo: (C4) (D4) ’diff(x^3/y, y, 1, x, 2) = diff(x^3/y, y, 1, x, 2); ∂ 3 x3 /y 6x =− 2 ∂ 2 x∂y y 3.1.1 Interpretação geométrica da derivada Em termos geométricos, a derivada de uma função é uma outra função que em cada ponto é igual ao declı́ve da função original nesse mesmo ponto. Por exemplo, a figura 3.1 mostra o gráfico da função log(x) e a sua derivada, 1/x, obtido com o comando: (C5) plot2d([log(x), 1/x], [x, 0.1, 10], [y, -1, 4])$ Perto da origem, o declı́ve de log(x) tem um valor elevado, mas para valores maiores de x o declı́ve aproxima-se de zero. f(x) 3 log(x) 1/x 2 1 2 4 6 8 -1 Figura 3.1: Gráfico de log(x) e a sua derivada, 1/x. 22 Fı́sica dos Sistemas Dinâmicos x 3.1.2 Algumas propriedades Se u e v forem duas funções que dependem de x, podemos usar o comando depends para definir essa dependência (C6) (D6) depends([u, v], x); [u (x) , v (x)] e a seguir poderemos calcular propriedades gerais para quaisquer funções u e v. Por exemplo, a derivada do produto e do quociente das funções são 1 : (C7) (D7) ’diff(u*v, x) = diff(u*v, x); d (uv) dv du =u + v dx dx dx (C8) (D8) ’diff(u/v, x) = ratsimp(diff(u/v, x)); u dv − d (u/v) = − dx 2 dx v du dx v A regra da cadeia usa-se quando queremos calcular a derivada de uma função composta, isto é, uma função y que depende de uma outra função x, que pela sua vez depende da variável t: (C9) (D9) depends(y, x, x, t); [y (x) , x (t)] Assim, y depende implicitamente da variável t e a sua derivada em função de t será: (C10) (D10) 1A ’diff(y, t) = diff(y, t); dy dx dy = dt dt dx função ratsimp usa-se para agrupar as fracções sobre um denominador comum. Alguns conceitos de cálculo 23 Exemplo 3.1 Constrói-se uma caixa de altura x, a partir de uma lâmina quadrada, com aresta d = 30 cm, cortando quatro quadrados de aresta x nos cantos da lâmina. Encontre o valor que deverá ter x para que o volume da caixa seja o máximo possı́vel. x x d d O volume da caixa, em função de x, será (C11) (D11) vol(x) := x*(30 - 2*x)^2; 2 vol (x) := x (30 − 2x) Podemos fazer uma tabela de valores para ter alguma ideia do comportamento da função vol(x). Primeiro criamos uma lista de possı́veis valores de x, que pode estar compreendido entre 0 e 15 (C12) (D12) xi : makelist(i, i, 0, 15); [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] A seguir, vamos usar o comando map para aplicar a função vol a cada elemento da lista xi, e com a lista de valores de x e do volume criamos uma matriz onde cada linha representa um par de valores (x, vol(x)) 24 Fı́sica dos Sistemas Dinâmicos (C13) (D13) yi : map(vol, xi); [0, 784, 1352, 1728, 1936, 2000, 1944, 1792, 1568, 1296, 1000, 704, 432, 208, 56, 0] (C14) (D14) transpose(matrix(xi, yi)); 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 784 1352 1728 1936 2000 1944 1792 1568 1296 1000 704 432 208 56 0 o comando matrix aceita uma ou várias listas com o mesmo número de elementos e cria uma matriz onde cada lista é uma linha. O comando transpose foi usado para que as linhas da matriz passem a ser colunas. Aparentemente o valor máximo obtem-se para x = 5. Podemos demonstrar em forma mais precisa que essa é a resposta do problema, se calcularmos os pontos onde a derivada da função vol é nula (C15) (D15) solve(diff(vol(x), x) = 0, x); [x = 5, x = 15] Para determinar quais desses pontos são máximos ou mı́nimos locais, calcula-se a segunda derivada Alguns conceitos de cálculo 25 (C16) (D16) diff2 : diff(vol(x), x, 2); 8x − 8 (30 − 2x) no ponto x = 5 o valor da segunda derivada é (C17) (D17) diff2, x=5; −120 o seu valor negativo indica que a curvatura da função nesse ponto aponta para baixo e, portanto, a função tem um máximo local em x = 5. Exemplo 3.2 A posição de uma partı́cula, em função do tempo t, é definida pelo vector ~r = 5 cos(t)~ux + 4 sin(t)~uy + 2 e−t ~uz calcule a velocidade e a aceleração da partı́cula em t = 3. Vamos representar as três coordenadas do vector posição por meio de uma lista (C18) (D18) pos: [5*cos(t), 4*sin(t), 2*exp(-t)]; 5 cos t, 4 sin t, 2e−t A velocidade é a derivada do vector posição, em função do tempo, e a aceleração é a derivada da velocidade. (C19) (D19) vel: map(lambda([u], diff(u, t)), pos); −5 sin t, 4 cos t, −2e−t (C20) (D20) acel: map(lambda([u], diff(u, t)), vel); −5 cos t, −4 sin t, 2e−t 26 Fı́sica dos Sistemas Dinâmicos nos comandos anteriores definimos uma função anónima, por meio do comando lambda, que, dada uma função u, calcula a sua derivada em ordem a t. A seguir aplicámos essa função a cada uma das coordenadas do vector posição e do vector velocidade, usando o comando map do maxima. Em t = 3 a velocidade e a aceleração são (C21) (D21) vf : ev(vel, t=3, numer); [−0.70560004029934, −3.959969986401782, −0.09957413673573] (C22) (D22) af : ev(acel, t=3, numer); [4.949962483002227, −0.56448003223947, 0.09957413673573] Os módulos da velocidade e da aceleração podem ser calculados, usando o produto interno entre vectores, representado por um ponto: (C23) (D23) modvel : sqrt(vf.vf); 4.023574122441392 (C24) (D24) modacel: sqrt(af.af); 4.983039363544433 3.2 Primitivas e integrais A primitiva de uma função é qualquer outra função que quando derivada dá como resultado a função original. Por exemplo, vamos encontrar as primitivas da função xn , onde n é um parâmetro constante Alguns conceitos de cálculo 27 (C25) ’integrate(x^n, x) = integrate(x^n, x); Is n+1 zero or nonzero? nonzero; (D25) Z xn dx = xn+1 n+1 Maxima perguntou-nos se n + 1 é nula, isto é, se n é igual a −1. Para n diferente de −1, obtemos o resultado acima, que representa apenas uma das primitivas da função xn . Todas as outras primitivas obtêm-se somando uma constante arbitrária ao resultado anterior. Um integral definido, por exemplo (C26) (D26) ’integrate(1/(1 + x^ 2), x, 0, 1); 1 Z 0 x2 1 dx +1 representa a área entre a função e o eixo dos x, e entre os limites x = 0 e x = 1 (ver a figura 3.2). Neste caso o valor do integral é: (C27) ’integrate(1/(1 + x^ 2), x, 0, 1) = integrate(1/(1 + x^ 2), x, 0, 1); (D27) 1 Z 0 1 π dx = x2 + 1 4 O valor infinito, representa-se em maxima pela variável inf. Por exemplo a função acima também pode ser integrada desde menos infinito até infinito: (C28) ’integrate(1/(1 + x^ 2), x, -inf, inf) = integrate(1/(1 + x^ 2), x, -inf, inf); (D28) Z ∞ −∞ 28 Fı́sica dos Sistemas Dinâmicos 1 dx = π x2 + 1 2 1/(1 + x ) 1.0 0.5 -1 0 1 x Figura 3.2: Integral de 1/(1 + x2 ) entre 0 e 1. Exemplo 3.3 Calcule a área da região delimitada pela parábola y = 2x2 − 3 e a recta y = 2x Primeiro temos que encontrar os pontos de intersecção entre a parábola e a recta (C29) parab(x) := 2*x^2 - 3$ (C30) recta(x) := 2*x$ (C31) (D31) solve(parab(x) = recta(x), x); " √ 7−1 x=− ,x = 2 √ 7+1 2 # A figura 3.3 mostra o gráfico das funções, obtido com: (C32) plot2d([parab(x), recta(x)], [x, -2, 3])$ Entre os dois pontos de intersecção, a recta está por cima da parábola. A área será Alguns conceitos de cálculo 29 f(x) 12 8 4 -1 1 2 x Figura 3.3: Área entre y = 2x2 − 3 e y = 2x. (C33) area : integrate(recta(x) - parab(x), x, part(d31,1,2), part(d31,2,2)); (D33) (C34) (D34) √ √ 7 7 + 10 7 7 − 10 + 6 6 area, numer; 6.173419725817378 3.3 Série de Taylor Uma função f (x) diz-se analı́tica num ponto a, se a função e todas as suas derivadas, f (x), f 0 (x), f 00 (x), f 000 (x), . . . existirem no ponto a. Nesse caso 30 Fı́sica dos Sistemas Dinâmicos a função pode ser escrita como uma série de potências f (x) = f (a) + f 0 (a)(x − a) + f 00 (a) f 000 (a) (x − a)2 + (a − x)3 + . . . 2! 3! (3.1) esse tipo de série é designada de série de Taylor. Em maxima, o comando powerseries dá a forma geral da série de Taylor de uma função analı́tica e o comando taylor pode ser usado para obter os primeiros termos da expansão de uma função em série de Taylor. 2 (C35) (D35) ’sin(x) = niceindices(powerseries(sin(x), x, 0)); sin x = ∞ i X (−1) x2i+1 i=0 (C36) (D36) (2i + 1)! ’cos(x) = niceindices(powerseries(cos(x), x, 0)); cos x = ∞ i X (−1) x2i i=0 (2i)! Os quatro primeiros termos da série binomial são (C37) (D37) taylor((1+x)^n, x, 0, 3); n2 − n x2 n3 − 3n2 + 2n x3 1 + nx + + + ··· 2 6 Factorizando cada termo e reagrupando como uma série infinita (por meio do comando trunc) obtemos (C38) (D38) map(factor,%); (C39) (D39) (1 + x)^n = trunc(%); (n − 2) (n − 1) nx3 (n − 1) nx2 + + nx + 1 6 2 n (x + 1) = 1 + nx + (n − 1) nx2 (n − 2) (n − 1) nx3 + + ··· 2 6 2O comando niceindices substitui os ı́ndices I1, I2, . . ., usados por omissão, por ı́ndices i, j, . . . Alguns conceitos de cálculo 31 Uma série de potências pode ser derivada ou integrada termo a termo. Por exemplo, o integral que calculámos em D21 pode ser calculado por separado para cada termo da série de potências da função e obtemos, assim, uma série que permite calcular π/4 (C40) serie : niceindices(integrate( powerseries(1/(1+x^2),x,0),x)); (D40) ∞ i X (−1) x2i+1 2i + 1 i=0 (C41) integrate(1/(1 + x^2), x, 0, 1) = ev(serie, x=1) ev(serie, x=0); (D41) ∞ i π X (−1) = 4 2i + 1 i=0 3.4 A transformada de Laplace A transformada de Laplace de uma função f (x) é uma outra função f¯(s) definida por Z ∞ f¯(s) = f (x) e−sx dx 0 por exemplo, a transformada da função seno é: (C42) (D42) laplace(sin(x), x, s); 1 s2 + 1 Um outro exemplo: (C43) 32 laplace(t^2*exp(3*t)*sin(4*t), t, s); Fı́sica dos Sistemas Dinâmicos (3.2) (D43) 2 8 (2s − 6) 3 (s2 − 6s + 25) − 8 2 (s2 − 6s + 25) A transformada inversa calcula-se usando o comando ilt. Por exemplo: (C44) (D44) ilt(1/(s^2 + 1), s, t); sin t 3.5 1. Problemas Calcule as derivadas das funções seguintes: (a) y = e2x cos(3x) sin(x) √ (b) y = 3x sinh(2/x) (c) y = 2. x3 + 4x2 x2 − 1 Calcule os pontos estacionários (onde a derivada é nula) da função 3x4 − 4x3 − 24x2 + 48x + 5 e diga quais desses pontos são máximos ou mı́nimos locais. 3. Calcule a primitiva de (log x)20 e comprove o resultado por meio de derivação. 4. Calcule os seguintes integrais definidos: Z 2 (a) 4x4 − 5x2 + 8 dx 0 Z (b) π/3 sin(3x) dx 0 Alguns conceitos de cálculo 33 Z ∞ (c) 2 e−x dx −∞ 5. Calcule a derivada da função f (x), onde: x5 Z (a) f (x) = p t2 + 1 dt 1 sin(x) Z (t2 + 1)3 dt (b) f (x) = 1 6. Em cada caso calcule a série de Taylor da função, no ponto a, e até o termo de ordem n. 1 (x − 4)2 (b) f (x) = tan(x) (a) f (x) = 3/2 (c) f (x) = x 7. a=π a=1 n=5 n=6 n=8 Calcule as transformadas de Laplace das seguintes funções: (a) (1 + et )2 (b) sin(2t) sinh(2t) (c) t2 + e2t − 2 (d) t2 et sin(t) 34 a=5 Fı́sica dos Sistemas Dinâmicos