Baixe o app para aproveitar ainda mais
Prévia do material em texto
Métodos Matemáticos para Engenharia Química uma abordagem prática com o software livre Maxima Adilson José de Assis Métodos Matemáticos para Engenharia Química: uma abordagem prática com o software livre Maxima Adilson José de Assis Faculdade de Engenharia Química Universidade Federal de Uberlândia http://www.feq.ufu.br Métodos Matemáticos para Engenharia Química: uma abordagem prática com o software livre Maxima Copyright © 2015 Adilson J. de Assis E-mail: ajassis@ufu.br Versão: 17-02-2015 ISBN: Este livro pode ser copiado e reproduzido livremente, respeitando os termos da Licença Creative Commons Atribuição-Partilha (versão 3.0). Para obter uma cópia desta licença, visite http://creativecommons.org/licenses/by-sa/3.0/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. �A Matemática é o alfabeto com o qual Deus escreveu o Universo.� �O livro da Natureza está escrito em caracteres matemáticos ...sem um conhecimento dos mesmos os homens não poderão compreendê-lo�. Galileu Galilei �A matemática, corretamente vista, possui não apenas a verdade, mas suprema beleza - uma beleza fria e austera, sem os enfeites lindos da pintura ou da música.� Bertrand Russell ' & $ % A natureza e a matemática são complementares e belas. Veja os exemplos nos vídeos a seguir: https://vimeo.com/77330591: Beauty of mathematics https://www.youtube.com/watch?v=CzqQyamt6Jw: A beleza da matemática https://www.youtube.com/watch?v=QaWepnGWRs8: Sequência de Fibonacci e Número de Ouro https://www.youtube.com/watch?v=BTiZD7p_oTc: Best fractals zoom ever 3 Sumário Sumário 4 Lista de Figuras 7 1. Introdução: modelagem matemática, engenharia e equações diferenciais 9 2. Revisão de Matemática Básica e Cálculo Diferencial e Integral 12 3. Breve apresentação do software livre Maxima 19 3.1. Iniciando o uso do Maxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2. Processando um comando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3. Manipulação de variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4. Funções matemáticas elementares no Maxima . . . . . . . . . . . . . . . . . . . . . . . 22 3.5. Operações básicas com matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.6. Solução de sistemas lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.7. Solução analítica de uma equação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.8. Solução numérica de uma equação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.9. Manipulação algébrica de equações e funções . . . . . . . . . . . . . . . . . . . . . . . 26 3.10. Simplificações diversas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.11. Gráficos bi e tridimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.12. Limites e continuidade de funções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.13. Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.13.1. Derivadas simples e pontos críticos de uma função . . . . . . . . . . . . . . . . 31 3.13.2. Derivadas parciais de uma função . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.14. Integrais indefinidas, definidas e área abaixo de uma curva . . . . . . . . . . . . . . . . 32 3.15. Programação no Maxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.15.1. Instrução: if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.15.2. Instrução: for...end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.15.3. Instrução block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.16. Séries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.16.1. Série de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.16.2. Série de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.17. Regressão Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4 SUMÁRIO 4. Campo de direções no Maxima 39 4.1. Exemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2. Exemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.3. Exemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4. Exemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.5. Função drawdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5. Solução analítica de equações diferenciais ordinárias (EDOs) 45 5.1. Verificando se uma dada equação é solução de uma EDO . . . . . . . . . . . . . . . . . 45 5.2. Equações diferenciais de 1ª ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.2.1. Encontrando a solução geral de uma ED de 1ª ordem . . . . . . . . . . . . . . . 45 5.2.2. Encontrando a solução particular de uma ED de 1ª ordem . . . . . . . . . . . . 46 5.2.3. EDO com solução implícita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.2.4. Solução de EDOs exatas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.2.5. Exemplo 1: variação da massa de um soluto com o tempo a volume constante . 48 5.2.6. Exemplo 2: lei do resfriamento de Newton . . . . . . . . . . . . . . . . . . . . . 49 5.3. Equações diferenciais lineares de 2ª ordem . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.3.1. Solução geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.3.2. Solução de PVIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3.3. Exemplo: difusão e reação de um componente gasoso em um líquido (Rice and Do., 1995, exemplo 2.7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.3.4. Solução de PVCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.3.5. EDOs não homogêneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.3.6. Exemplo: Dinâmica de um tanque agitado com aquecimento elétrico . . . . . . 55 5.3.7. Wronkiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.4. Pacote contrib_ode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.5. Solução usando série de potências para EDOs lineares de 2ª ordem . . . . . . . . . . . 59 5.6. Solução de EDOs por transformada de Laplace (EDOs simples e sistemas de EDOs) . 62 5.6.1. Transformada de Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.6.2. Solução de EDOs por transformada de Laplace . . . . . . . . . . . . . . . . . . 63 5.7. Sistemas de EDOs lineares de 1ª ordem no plano . . . . . . . . . . . . . . . . . . . . . 65 5.7.1. Autovalores e autovetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.7.2. Retrato de fase de sistemas lineares . . . . . . . . . . . . . . . . . . . . . . . . . 67 6. Solução numérica de equações diferenciais ordinárias usando o método de Runge-Kutta 72 7. Solução analítica de equações diferencias parciais (EDPs) 75 7.1. Exemplos de EDPs na Engenharia Química . . . . . . . . . . . . . . . . . . . . . . . . 75 7.2. Séries de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.3. Solução de EDPs por separação de variáveis . . . . . . . . . . . . . . . . . . . . . . . . 82 5 SUMÁRIO 8. Solução numérica deequações diferencias parciais (EDPs) usando o método das diferenças finitas 88 8.1. EDP parabólica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 8.2. EDP hiperbólica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.3. EDP elíptica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Referências Bibliográficas 94 A. Lista de exercícios n. 1: Revisão de matemática básica e cálculo diferencial e integral 95 B. Lista de exercícios n. 2: Classificação, campo de direções e EDOs de 1ª ordem 98 C. Lista de exercícios n. 3: EDOs de 2ª ordem, solução em série de potências de EDOs 103 D. Lista de exercícios n. 4: solução de EDOs por transformada de Laplace, sistemas de EDOs107 E. Lista de exercícios n. 5: EDPs 112 F. Revisão de matemática básica e de cálculo diferencial e integral: uma abordagem prática com o Maxima 115 6 Lista de Figuras 1.0.1.Matemática como literatura de suspense, segundo Calvin! . . . . . . . . . . . . . . . . 10 2.0.1.Definição das funções trigonométricas . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.0.2.Gráficos das funções exponencial e logarítmica . . . . . . . . . . . . . . . . . . . . . . . 13 2.0.3.Gráficos das funções hiperbólicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1.1.Imagem de uma tela do Maxima, com a interface gráfica wxMaxima. . . . . . . . . . . 20 3.8.1.Função sin(x) exp(x) + x− 3 usada para o cálculo numérico de suas raízes. . . . . . . . 25 3.11.1.Gráficos bidimensionais no Maxima. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.11.2.Gráfico bidimensional com pontos discretos e curva contínua. . . . . . . . . . . . . . . 30 3.11.3.Gráficos tridimensionais no Maxima. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.12.1.Limites simples e laterais no Maxima. . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.13.1.Função usada no exemplo de derivadas e pontos críticos. . . . . . . . . . . . . . . . . . 32 3.14.1.Função usada no exemplo de integração. . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.16.1.Aproximações por série de Taylor para a função cos(x). . . . . . . . . . . . . . . . . . 36 3.16.2.Série de Fourier da função usada no exemplo. . . . . . . . . . . . . . . . . . . . . . . . 37 3.17.1.Exercício de aplicação de regressão linear. . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.0.1.Campo de direções como vetores tangentes à solução de uma EDO. . . . . . . . . . . . 40 4.1.1.Campo de direções: exemplo 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.1.Campo de direções: exemplo 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.1.Campo de direções: exemplo 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.4.1.Campo de direções: exemplo 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.5.1.Campo de direções com a função drawdf. . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.2.1.Solução de um PVI, com equação diferencial de 1ª ordem. . . . . . . . . . . . . . . . . 47 5.2.2.Variação da massa com o tempo para um tanque agitado (m0=1, c0=1, V= 2, r=1) . . 49 5.2.3.Solução do problema envolvendo a lei de resfriamento de Newton. . . . . . . . . . . . . 50 5.3.1.Funções de Bessel J0(x) e Y0(x). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3.2.PVI envolvendo uma EDO de 2ª ordem. . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.3.3.Difusão e reação de um componente gasoso. . . . . . . . . . . . . . . . . . . . . . . . . 54 5.3.4.Solução de uma EDO de segunda ordem, não homogênea. . . . . . . . . . . . . . . . . 55 5.3.5.Tanque agitado com aquecimento elétrico. . . . . . . . . . . . . . . . . . . . . . . . . . 57 7 LISTA DE FIGURAS 5.6.1.Solução de um sistema de EDOs, por transformada de Laplace, sem usar o comando desolve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.7.1.Retrato de fase e evolução no tempo. O gráfico da direita é obtido clicando no último ícone da barra superior da figura à esquerda. . . . . . . . . . . . . . . . . . . . . . . . 68 5.7.2.Retrato de fase: nó atrator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.7.3.Retrato de fase: foco atrator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.0.1.Solução numérica de EDOs: única EDO. . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.0.2.Solução numérica de EDOs: sistema de duas EDOs. . . . . . . . . . . . . . . . . . . . 73 7.1.1.Reator modelado no Exemplo 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 7.1.2.Solução, na forma gráfica, da EDP do Exemplo 1 (Rice and Do., 1995). . . . . . . . . . 77 7.1.3.Solução gráfica do Exemplo 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7.1.4.Solução analítica na forma gráfica do Exemplo 4 (Rice and Do., 1995). . . . . . . . . . 79 7.1.5.Solução analítica na forma gráfica do Exemplo 5 (Rice and Do., 1995). . . . . . . . . . 81 7.2.1.Exemplo de série de Fourier no Maxima. . . . . . . . . . . . . . . . . . . . . . . . . . . 83 7.3.1.Resposta, na forma tridimensional, para o exemplo numérico da condução de calor em uma barra, com extremidades a temperaturas fixas. . . . . . . . . . . . . . . . . . . . . 86 7.3.2.Variação da temperatura, com o tempo, no centro da barra. . . . . . . . . . . . . . . . 86 7.3.3.Variação da temperatura, com a posição, para vários tempos diferentes. . . . . . . . . 87 8.1.1.Solução numérica da equação da difusão, transiente, unidimensional. . . . . . . . . . . 89 8.2.1.Solução numérica da equação da onda, transiente, unidimensional. . . . . . . . . . . . 90 8.3.1.Solução numérica da equação de Laplace. . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.3.2.Solução numérica da equação de Poisson. . . . . . . . . . . . . . . . . . . . . . . . . . . 93 B.0.1.Campo de direções de uma determinada equação diferencial. . . . . . . . . . . . . . . . 100 B.0.2.Tanque cilíndrico com entrada e saída de líquido. . . . . . . . . . . . . . . . . . . . . . 101 D.0.1.Dois tanques aquecidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 D.0.2.Campo das direções de um circuito elétrico. . . . . . . . . . . . . . . . . . . . . . . . . 109 D.0.3.Sistema massa-mola, com dois corpos e três molas. . . . . . . . . . . . . . . . . . . . . 110 E.0.1.Esquema 2D de um aquífero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 8 1. Introdução: modelagem matemática, engenharia e equações diferenciais �A modelagem matemática é a area do conhecimento que estuda a simulação de sistemas reais a fim de prever o comportamento dos mesmos, sendo empregada em diversos campos de estudo, tais como física, química, biologia, economia e engenharias. Ou seja, modelagem matemática consiste na arte (ou tentativa) de se descrever matematicamente um fenômeno. Dentre as diferentes formas e métodos de modelagem temos a modelagem via autômatos celulares e equações diferenciais, parciais e/ou ordinárias. A modelagem matemática via equações diferenciais tem um papel de enorme destaque, visto que tal técnica vem sendo utilizada para modelar fenômenos desde o século XVII por Malthus e Verhulst,no final dos anos 1700. Pode-se, então, dizer que um modelo matemático é desenvolvido para simular a realidade usando a linguagem matemática. Os modelos matemáticos se subsidiam, por exemplo, das leis da física (como as leis de Kirchhoff para sistemas eletricos e as leis de Newton para mecânicos) ou dados experimentais. Frequentemente, os modelos atingem grau de sofisticação suficiente para justificar ferramentas compu- tacionais, envolvendo sistemas deequações diferenciais. A modelagem de um fenômeno via equações diferenciais é, normalmente, feita da seguinte forma: através da simples observação conseguem-se informações sobre as taxas de variação do fenômeno (que do ponto de vista matemático são derivadas), escreve-se a equação que relaciona as taxas de variação e a função, isto é, a equação diferencial associada e, a partir da solução desta equação tem-se uma possível descrição do fenômeno. Então, tal modelo matemático será também composto por parâmetros (constantes), que são intrínsecas ao sistema a ser estudado; variáveis que afetam o sistema, porém o modelo não foi designado para estudar seu comportamento (variáveis independentes) e as variáveis as quais o modelo foi designado para estudar (variáveis dependentes). Quando o sistema em questão busca retratar um fenômeno que consiste na interação entre duas ou mais entidades, então a modelagem é feita através de um sistema de equações diferenciais 9 1. Introdução: modelagem matemática, engenharia e equações diferenciais Os modelos matemáticos apresentam uma série de aspectos úteis do ponto de vista científico. Além de apresentar naturalmente uma linguagem concisa, que pode vir a facilitar sua manipulação, um modelo matemático traz também aspectos como a possibilidade de confirmar ou rejeitar determinadas hipóteses relacionadas a complexos sistemas, revelar contradições em dados obtidos e/ou hipóteses formuladas, prever o comportamento de um sistema sob condições não testadas ou ainda não �testáveis�, dentre outros. Por outro lado, quanto maior é a proximidade do modelo com a realidade, mais complexo será o modelo. Isto significa um maior numero de parâmetros e conseqüentemente uma maior dificuldade tanto na obtenção de dados a partir do modelo quanto na interpretação desses dados gerados pelo modelo em questão. Figura 1.0.1.: Matemática como literatura de sus- pense, segundo Calvin! Modelos simples são mais fáceis de lidar, porém modelos mais sofisticados são frequentemente ne- cessários. É importante ressaltar que as previ- sões do comportamento de um determinado mo- delo matemático, caso se faça necessário depen- dendo de sua complexidade, se dão através de si- mulações computacionais do mesmo. Caso o mo- delo seja suficientemente simples, teorias mate- máticas são eficientes ferramentas para se obter conclusões gerais. Então, pode-se dizer que ao desenvolver um modelo matemático busca-se um ponto ótimo entre a representação da realidade e a complexidade do modelo, para que a obtenção de resultados coerentes seja possível, bem como sua interpretação. Segundo Howard Emmons, �o desafio em modelagem matemática não é produ- zir os modelos descritivos mais compreensíveis, mas sim produzir modelos suficientemente sim- ples que incorporam as principais características do fenômeno em questão�. Portanto, a modela- gem matemática ajuda a evitar ou reduzir a ne- cessidade de gastos excessivos em experimentos, ou até mesmo simular experimentos impossíveis de serem realizados na prática.�Wikipédia (2013) Particularmente, em Engenharia Química, os mo- delos matemáticos na forma de equações diferencias tem um papel extremamente importante, pois servem para descrever matematicamente: 1. Fenômenos físicos e químicos, tais como a transferência de quantidade de movimento (mecânica dos fluidos), a transferência de calor e de massa, a velocidade de reações (bio)químicas; 2. Os balanços de massa, energia e quantidade de movimento em equipamentos (ou operações unitárias); 3. A dinâmica de processos no estado transiente, base para o controle de processos; Espero que este material contribua para que o universo das equações diferenciais deixe de ser um �mistério�, como é para o Calvin, e se torne algo palpável em sua vida! LOL No conteúdo que se encontra a seguir, o leitor encontrará uma abordagem prática, com o uso de um �software� livre e gratuito, dos métodos matemáticos para a Engenharia Química, com ênfase na solução analítica de equações diferenciais. A teoria dos métodos utilizados não será coberta aqui e o leitor deve consultar os manuais clássicos de equações diferenciais, como por exemplo Kreyszig et al. (2011) e Boyce and DiPrima (2010), ou materiais disponíveis gratuitamente na rede, como por exemplo Villate (2011). 10 1. Introdução: modelagem matemática, engenharia e equações diferenciais Este livro parte da premissa que conhecer o processo matemático de, por exemplo, resolver uma equação diferencial ordinária é importante. Entretanto, com o advendo e o avanço da informática, permitindo hoje o acesso a �softwares� que podem fazer boa parte do trabalho antes as vezes trabalhoso ou tedioso, de manipulação de equações, o engenheiro pode concentrar seus esforços mais nas etapas de desenvol- vimento do modelo matemático e na análise da solução, por economizar tempo na etapa de solução do modelo. Com isto, sua atuação enfatiza mais a ênfase como engenheiro e não como matemático. Com isto não se quer dizer que o lado matemático do engenheiro não seja importante, até porque todos os softwares disponíveis são limitados e não livres de erros; porém, no estado da arte em que eles se encontram, pelo menos os métodos clássicos estão relativamente bem implementados, permitindo principalmente que a formação acadêmica em métodos matemáticos considere também os aspectos práticos, permitindo ao estudante avançar na aplicação nos métodos estudados e o desenvolvimento de projetos didáticos mais elaborados ou mais próximos dos modelos que serão encontrados nos ambientes de atuação profissional onde tais modelos desempenham um papel relevante. 11 2. Revisão de Matemática Básica e Cálculo Diferencial e Integral A seguir será apresentada uma breve revisão de matemática básica e de cálculo diferencial e integral, com o objetivo de melhor compreender os conteúdos que serão abordados posteriormente. No Apêndice A encontra-se esta revisão com os comandos do Maxima apropriados. (x± y)2 = x2 ± 2xy + y2 x2 − y2 = (x− y)(x+ y) Fatorial de n: n! = 1.2.3. · · · .n Para o triângulo retângulo mostrado na Fig. 2.0.1: * Teorema de Pitágoras: OB 2 = OA 2 +AB 2 * sen2α+ cos2α = 1 Figura 2.0.1.: Definição das funções trigonométricas ap.aq = ap+q ap/aq = ap−q (ap)q = apq a0 = 1, a 6= 0 0a = 0, a 6= 0 0 5 = 0, mas 5 0 é indefinido 12 2. Revisão de Matemática Básica e Cálculo Diferencial e Integral a−p = 1/ap, a 6= 0 (ab)p = apbp (a b )−n = ( b a )n = bn an a n m = ( a 1 m )n = (an) 1 m n √ a = a1/n n √ am = am/n n √ a/b = n √ a/ n √ b Cuidado!!! * (a+ b)2 6= a2 + b2 * √ a2 + b2 6= a+ b * 3a+ b 3a+ c 6= b c * dpi3 dx 6= 3pi2 Função logarítmica −→ y = loga x. Ver Fig. 2.0.2 Figura 2.0.2.: Gráficos das funções exponencial e logarítmica logaMN = logaM + logaN logaM/N = logaM − logaN logaM p = p logaM blogb x = x i = √−1 i2 = −1 √−a = i√a se a ≥ 0 eiθ = cos θ + i senθ e−iθ = cos θ − i senθ sen θ = eiθ − e−iθ 2i 13 2. Revisão de Matemática Básica e Cálculo Diferencial e Integral cos θ = eiθ + e−iθ 2 Seno hiperbólico de x : senh x = ex − e−x 2 Ver Fig. 2.0.3. Figura 2.0.3.: Gráficos das funções hiperbólicas Cosseno hiperbólico de x : cosh x = ex + e−x 2 Equação quadrática ou do 2º grau: ax2 + bx + c = 0; raízes: x = −b±√b2 − 4ac 2a . Se a, b e c são reais e se D = b2 − 4ac é o discriminante, as raízes da equação são: i) reais e desiguais se D > 0 ii) reais e iguais se D = 0 iii) conjugadas e complexas se D < 0 lim x→a bf(x) = b limx→a f(x) lim x→a[f(x) + g(x)] =limx→a f(x) + limx→a g(x) lim x→a[f(x)g(x)] = limx→a f(x) · limx→a g(x) lim x→a f(x) g(x) = limx→a f(x) limx→a g(x) , se lim x→a g(x) 6= 0 lim x→a[f(x)] n = [lim x→a f(x)] n lim x→∞ e x =∞ e lim x→−∞ e x = 0 lim x→∞ ln(x) =∞ e limx→0+ ln(x) = −∞ Descontinuidades: * Removível: y = sen x/x, quando x = 0 * Infinita: y = 1/x, quando x = 0 * Salto: y = 10/(1 + e1/x), quando x = 0+ y = 0+ ou x = 0 y = 0 ou x = 0− y = 10 14 2. Revisão de Matemática Básica e Cálculo Diferencial e Integral Se y = P (x), a derivada de y ou de P(x) em relação à x é definida como dy dx = lim h→0 f(x+ h)− f(x) h = lim ∆x→0 f(x+ ∆x)− f(x) ∆x A derivada é também designada por y′, df/dx ou f ′(x). O processo de derivar/obter uma derivada é chamado diferenciação. d dx (c) = 0 d dx (cx) = c d dx (cxn) = ncxn−1 d dx (u± v ± w ± . . .) = du dx ± dv dx ± dw dx ± . . . d dx (cv) = c dv dx d dx (uv) = u dv dx + v du dx d dx (u v ) = v dudx − u dvdx v2 d dx (un) = nun−1 du dx Regra da cadeia: dy dx = dy du du dx du dx = 1 dx/du dy dx = dy/du dx/du d dx senu = cosu du dx d dx cosu = −senudu dx d dx loga u = loga e u du dx , a 6= 0, 1 d dx lnu = d dx loge u = 1 u du dx d dx au = au ln a du dx d dx eu = eu du dx d dx uv = d dx ev lnu = ev lnu d dx [v lnu] = vuv−1 du dx + uv lnu dv dx d dx senh u = coshu du dx d dx cosh u = senh u du dx Derivadas superiores −→ segunda derivada: d dx ( dy dx ) = d2y dx2 = f”(x) = y” Diferencial: d(u± v ± w ± . . .) = du± dv ± dw ± . . . 15 2. Revisão de Matemática Básica e Cálculo Diferencial e Integral Diferencial: d(uv) = udv + vdu Seja f(x, y), uma função de duas variáveis x e y. Então definimos a derivada parcial de f(x, y) com relação a x, considerando y constante, por ∂f ∂x = lim ∆x→0 f(x+ ∆x, y)− f(x, y) ∆x Igualmente a derivada parcial de f(x, y) com relação a y, considerando x constante é definida por: ∂f ∂y = lim ∆y→0 f(x, y + ∆y)− f(x, y) ∆y A diferencial de f(x, y) (ou derivada total de f) é definida como: df = ( ∂f ∂x ) y dx+ ( ∂f ∂y ) x dy Teorema de L'Hospital: Formas como 0/0,∞/∞, 0×∞ etc são chamadas de indeterminadas; se lim x→a f(x) g(x) = 0 0 ou ±∞ ±∞ então limx→a f(x) g(x) = lim x→a f ′(x) g′(x) . Exemplo: lim x→0 sen(x) x = lim x→0 d sen(x) dx = lim x→0 cos(x) 1 = 1 Se dy dx = f(x), então y é a função cuja derivada é f(x) e é chamada de anti-derivada de f(x) ou integal indefinida de f(x), designada por y = ∫ f(x)dx ∫ a dx = ax+ C [as constantes de integração serão omitidas, mas estão implícitas] ∫ af(x) dx = a ∫ f(x) dx ∫ (u± v ± w ± . . .) dx = ∫ u dx± ∫ v dx± ∫ w dx± . . . Integração por partes:∫ u dv = uv − ∫ v du ∫ un du = un+1 n+ 1 , com n 6= −1 ∫ du u = lnu se u > 0 ou ln(−u) se u < 0 = ln |u| ∫ eu du = eu ∫ sen u du = − cosu ∫ cosu du = sen u Transformações importantes: * ∫ F (ax+ b) dx = 1 a ∫ F (u) du onde u = ax+ b * ∫ F ( √ ax+ b) dx = 2 a ∫ uF (u) du onde u = √ ax+ b * ∫ F ( n √ ax+ b) dx = n a ∫ un−1F (u) du onde u = n √ ax+ b * ∫ F (eax) dx = 1 a ∫ F (u) u du onde u = eax 16 2. Revisão de Matemática Básica e Cálculo Diferencial e Integral * ∫ F (lnx) dx = ∫ F (u)eu du onde u = lnx Métodos de integração 1 * Fórmula direta: quando o integrando pode ser transformado numa forma facilmente integrável; * Substituição trigonomética: aplica-se em geral quando o integrando está na forma de um radical; * Substituição algébrica: aplica-se em geral quando há funções da forma (a+ bx)1/n; * Frações parciais: redução de funções racionais na forma f(x)/g(x) para frações mais facilmente integráveis; * Integração por partes * Expansão em séries ∫ b a f(x) dx = g(x)|ba = g(b)− g(a) ∫ a a f(x) dx = 0 ∫ b a f(x) dx = − ∫ a b f(x) dx ∫ b a f(x) dx = ∫ c a f(x) dx+ ∫ b c f(x) dx com a < c < b Função Gama: Γ(n) = ∫ ∞ 0 tn−1e−t dt com n > 0 Função Erro: erf(x) = 2√ pi ∫ x 0 e−u 2 du erf(x) = 2√ pi ( x− x 3 3.1! + x5 5.2! − x 7 7.3! + . . . ) erf(−x) = −erf(x), erf(0) = 0, erf(∞) = 1 Série de Taylor [expansão de uma função f(x) em torno de um ponto a]: f(x) = f(a) + f ′(a)(x− a) + f ′′(a)(x− a)2 2! + . . .+ f (n−1)(a)(x− a)n−1 (n− 1)! +Rn onde Rn é o resto após n termos. Se a = 0 a série é frequentemente chamada série de Maclaurin ex = 1 + x+ x2 2! + x3 3! + . . . com −∞ < x <∞ ln(1 + x) = x− x 2 2 + x3 3 − x 4 4 + . . . com −1 < x < 1 lnx = ( x− 1 x ) + 1 2 ( x− 1 x )2 + 1 3 ( x− 1 x )3 + . . . com x ≥ 12 sen x = x− x 3 3! + x5 5! − x 7 7! + . . . com −∞ < x <∞ cosx = 1− x 2 2! + x4 4! − x 6 6! + . . . com −∞ < x <∞ Laplaciano: U = ∇2U = ∇ · (∇U) = ∂ 2U ∂x2 + ∂2U ∂y2 + ∂2U ∂z2 1 Consultar a literatura de Cálculo Diferencial e Integral para detalhes dos métodos. 17 2. Revisão de Matemática Básica e Cálculo Diferencial e Integral Equação diferencial de Bessel: x2y′′ + xy′ + (x2 − n2)y = 0 com n > 0. As soluções desta equação são chamadas funções de Bessel de ordem n. Funções de Bessel de primeira classe de ordem n: * Jn(x) = ∞∑ k=0 (−1)k(x/2)n+2k k!Γ(n+ k + 1) * J−n(x) = ∞∑ k=0 (−1)k(x/2)2k−n k!Γ(k + 1− n) * J−n(x) = (−1)nJn(x) n = 0, 1, 2, . . . * J0(x) = 1− x 2 22 + x4 22 · 42 − x6 22 · 42 · 62 + . . . * J1(x) = x 2 − x 3 22 · 4 + x5 22 · 42 · 6 − x7 22 · 42 · 62 · 8 + . . . * J ′0(x) = −J1(x) Funções de Bessel de segunda classe de ordem n: Yn(x) 18 3. Breve apresentação do software livre Maxima 3.1. Iniciando o uso do Maxima O Maxima é um sistema de computação algébrica baseado em uma versão de 1982 do Macsyma. Ele é escrito em Common Lisp e funciona em todas as plataformas POSIX, tais como Mac OS X, Unix, BSD, e GNU/Linux bem como no Microsoft Windows e mesmo em dispositivos que rodam o Android. Trata-se de um software livre 1 cuja licença é a GNU General Public License. O Maxima é um sistema para a manipulação de expressões simbólicas, semelhantemente ao Maple e ao Mathematica, e numéricas, semelhante ao Matlab e ao Scilab, incluindo diferenciação, integração, série de Taylor, transformadas de Laplace, equações diferenciais ordinárias, sistemas de equações lineares, polinômios, conjuntos, listas, vetores, matrizes e tensores. O Maxima produz resultados numéricos de alta precisão usando frações exatas, inteiros de precisão arbitrária e números de ponto flutuante de precisão variável. O Maxima pode plotar funções e dados em duas e três dimensões. O Maxima é um sistema de propósito geral, e cálculos de casos especiais tais como a fatoração de números grandes, a manipulação de polinômios extremamente grandes, etc, algumas vezes são melhor desempenhados com sistemas especializados. O Maxima é constituído de um núcleo, que recebe e interpreta os comandos e devolve os resulta- dos. Entretanto, não é prático usar diretamente o núcleo, pois ele carece de opções de salvamento, menus e configurações. Há diversas interfaces gráficas para o núcleo,sendo a mais amigável delas a wxMaxima, mostrada na Figura 3.1.1. Link para baixar o Maxima, já com a inteface wxMaxima: http://maxima.sourceforge.net/ Quando se instala o Maxima no computador, há na aba �Ajuda� o manual do software. Entretanto, é a versão em Inglês que está disponível. No link a seguir, há uma tradução para o Português do manual do Maxima: http://maxima.sourceforge.net/docs/manual/pt/maxima.html Há várias boas apostilas na internet abordando o uso do Maxima para fins diversos. Os principais materiais que foram usados para este tutorial foram: Santos (2009), do Prado et al. (2008), de Oliveira (2014); Torres et al. (2006), Woollett (2009) e Nodarse (2014). 3.2. Processando um comando Após abrir o wxMaxima, comece digitando os comandos a seguir; para o Maxima processar as entradas, pressione simultaneamente SHIFT+ENTER. Caso seja pressionado apenas ENTER, o Maxima apenas cria uma nova linha de comando. Cada linha em uma célula deve ser finalizada por ponto e vírgula (;): 1 �Os objetivos do Software Livre e (controle na própria computação e cooperação livre) são atingidas por concessão do seguinte-direitos de liberdade: os usuários são livres para executar, copiar, distribuir, estudar, mudar e melhorar o software, estas liberdades são explicitamente concedidos e não suprimidas (como é o caso do software proprietário). Assim, o software livre é uma questão de liberdade, não de preço (os usuários são livres - o que inclui a liberdade de redistribuir o software, que pode ser feito gratuitamente ou por uma taxa). Software livre garante as liberdades dos usuários: estudar e modificar software, pela disponibilidade do código fonte, bem como a liberdade de copiar e distribuir.� Fonte: http://pt.wikipedia.org/wiki/Software_livre 19 3. Breve apresentação do software livre Maxima Figura 3.1.1.: Imagem de uma tela do Maxima, com a interface gráfica wxMaxima. 20 3. Breve apresentação do software livre Maxima (%i1) 5+2; %pi; float(%pi); %pi, numer; %e, numer; (%o1) 7 (%o2) pi (%o3) 3.141592653589793 (%o4) 3.141592653589793 (%o5) 2.718281828459045 3.3. Manipulação de variáveis Uma ferramenta importante no Maxima é a capacidade de atribuir e manipular variáveis. Uma variável, em programação, é um identificador ao qual se pode atribuir valores. No Maxima a instrução de atribuição é feita com dois pontos (:), como pode ser visto no exemplo a seguir: (%i6) a:7; b:3; c:a+b /* isto é um comentário */; eq1:a*x^2+b*x+c=0; kill(all) /* limpa as variáveis existentes */; eq1:a*x^2+b*x+c=0; eq2:A*x; eq3:eq1*eq2; eq4:expand(%); (%o6) 7 (%o7) 3 (%o8) 10 (%o9) 7x2 + 3x+ 10 = 0 (%o0) done (%o1) a x2 + b x+ c = 0 (%o2) xA (%o3) x ( a x2 + b x+ c ) A = 0 (%o4) a x3A+ b x2A+ c xA = 0 21 3. Breve apresentação do software livre Maxima 3.4. Funções matemáticas elementares no Maxima (%i5) abs(-1); 4!; sqrt(x); x^(a/b); log(x) /* logaritmo neperiano */; log(%e); log(5)/log(10), numer /* log de 5 na base 10 */; exp(x); sin(%pi/2); cos(%pi/2); tan(%pi/4); sinh(x); asin(1/2); (%o5) 1 (%o6) 24 (%o7) √ x (%o8) x a b (%o9) log (x) (%o10) 1 (%o11) 0.69897000433601 (%o12) ex (%o13) 1 (%o14) 0 (%o15) 1 (%o16) sinh (x) (%o17) pi 6 22 3. Breve apresentação do software livre Maxima 3.5. Operações básicas com matrizes (%i18) A:matrix([5, -3, -4], [1, -7, 12], [10, 4, 6]); B:matrix([1, -3, -6], [2, -7, 12], [10, 1, -6]); A+B; invert(A); A^^(-1); 3*A /* multiplicacao por escalar */; A.B /* multiplicacao matricial */; invert(A).A; determinant(A); transpose(A); (%o18) 5 −3 −41 −7 12 10 4 6 (%o19) 1 −3 −62 −7 12 10 1 −6 (%o20) 6 −6 −103 −14 24 20 5 0 (%o21) 45544 − 1544 117− 57544 − 35544 117 − 37544 25544 134 (%o22) 45544 − 1544 117− 57544 − 35544 117 − 37544 25544 134 (%o23) 15 −9 −123 −21 36 30 12 18 (%o24) −41 2 −42107 58 −162 78 −52 −48 (%o25) 1 0 00 1 0 0 0 1 (%o26) − 1088 (%o27) 5 1 10−3 −7 4 −4 12 6 23 3. Breve apresentação do software livre Maxima (%i1) A: matrix( [a,b], [c,d] )$ determinant(A); invert(A).A$ ratsimp(%); A^(-1); A.A^(-1)$ ratsimp(%); A^^(-1).A$ ratsimp(%); adjoint(A); (%o2) a d− b c (%o4) ( 1 0 0 1 ) (%o5) ( 1 a 1 b 1 c 1 d ) (%o7) ( c+b c a d+b2 b d a d+c2 a c c+b b ) (%o9) ( 1 0 0 1 ) (%o10) ( d −b −c a ) 3.6. Solução de sistemas lineares (%i28) linsolve([2*x+y+z=3, x+2*y+3*z=6, 2*x+3*y+4*z=1],[x,y,z]); 2*x+y+z, x:8,y:-37,z:24 /* verificando a solucao na 1a equacao */; (%o28) [x = 8, y = −37, z = 24] (%o29) 3 3.7. Solução analítica de uma equação (%i30) eq1; eq5:solve(eq1,x); eq5[1] /* pegando a 1a raiz */; eq5[2] /* pegando a 2a raiz */; rhs(eq5[1]) /* pegando somente o resultado da 1a raiz */; (%o30) a x2 + b x+ c = 0 (%o31) [x = − √ b2 − 4 a c+ b 2 a , x = √ b2 − 4 a c− b 2 a ] (%o32) x = − √ b2 − 4 a c+ b 2 a (%o33) x = √ b2 − 4 a c− b 2 a (%o34) − √ b2 − 4 a c+ b 2 a 24 3. Breve apresentação do software livre Maxima Figura 3.8.1.: Função sin(x) exp(x) + x− 3 usada para o cálculo numérico de suas raízes. 3.8. Solução numérica de uma equação Serão usados dois métodos diferentes. Os valores aproximados das raízes da função podem ser vistos na Figura 3.8.1. (%i35) eq6:sin(x)*%e^x+x-3; plot2d(eq6,[x,-4,4]) /* visualizando os valores aproximados das raizes */; find_root(eq6,x,-1,2) /* necessita um intervalo */; find_root(eq6,x,2,4); load(mnewton) /* carrega a funcao mnewton */; mnewton(eq6,x,1) /* necessita de uma aproximacao */; (%o35) ex sin (x) + x− 3 (%o36) /home/adilson/maxout.gnuplot_pipes (%o37) 0.93839691426479 (%o38) 3.147945514659651 (%o39) /usr/share/maxima/5.32.1/share/mnewton/mnewton.mac (%o40) [[x = 0.93839691426479]] 25 3. Breve apresentação do software livre Maxima 3.9. Manipulação algébrica de equações e funções (%i41) eq7:x^3+4=(6+x^2)/x; lhs(eq7) /* left hand side */; rhs(eq7) /* right hand side */; (x/4)*eq7; expand(%); eq7, x:2 /* atribuindo momentaneamente um valor para x */; f(x,y):=x+(x/y) /* definindo uma funcao */; f(9,3); subst(y+z,x,eq7) /* subst y+z em x na eq7 */; ev(eq7,x=y+z) /* avalia e eq7 com x = y+z */; eq8:x^2+y=1; eq9:x-2*y=2; solve([eq8,eq9],[x,y]) /* sol analitica duas equacoes */; float(%); (%o41) x3 + 4 = x2 + 6 x (%o42) x3 + 4 (%o43) x2 + 6 x (%o44) x ( x3 + 4 ) 4 = x2 + 6 4 (%o45) x4 4 + x = x2 4 + 3 2 (%o46) 12 = 5 (%o47) f (x, y) := x+ x y (%o48) 12 (%o49) (z + y)3 + 4 = (z + y)2 + 6 z + y (%o50) (z + y)3 + 4 = (z + y)2 + 6 z + y (%o51) y + x2 = 1 (%o52) x− 2 y = 2 (%o53) [[x = − √ 33 + 1 4 , y = − √ 3 √ 11 + 9 8 ], [x = √ 33− 1 4 , y = √ 3 √ 11− 9 8 ]] (%o54) [[x = −1.686140661634507, y = −1.843070330817253], [x = 1.186140661634507, y = −0.40692966918274]] 26 3. Breve apresentação do software livre Maxima 3.10. Simplificações diversas (%i55) (eq8+1/x)*eq9; ratsimp(%); eq10:(%e^x-1)/(1+%e^(x/2)); radcan(%) /* Simplifica expr que contem logs, exponenciais e radicais */; radcan((log(x+x^2)-log(x))^a/log(1+x)^(a/2)); eq11:x^2+2*x*y+y^2; factor(eq11) /* fatoriza uma expressao */; expand(%); log(a^b), logexpand=super; log(a*b), logexpand=super; log(a/b), logexpand=super; logcontract(%); eq12:sin(x)^2+cos(x)^2; trigsimp(eq12) /* simplificacao trigonometrica */; trigexpand(sin(2*x)); trigreduce(-sin(x)^2+3*cos(x)^2+x);(%o55) (x− 2 y) ( y + x2 + 1 x ) = 2 ( 1 x + 1 ) (%o56) − 2x y 2 + ( 2x3 − x2 + 2) y − x4 − x x = 2x+ 2 x (%o57) ex − 1 e x 2 + 1 (%o58) e x 2 − 1 (%o59) log (x+ 1) a 2 (%o60) y2 + 2x y + x2 (%o61) (y + x)2 (%o62) y2 + 2x y + x2 (%o63) log (a) b (%o64) log (b) + log (a) (%o65) log (a)− log (b) (%o66) log (a b ) (%o67) sin (x)2 + cos (x)2 (%o68) 1 (%o69) 2 cos (x) sin (x) (%o70) cos (2x) 2 + 3 ( cos (2x) 2 + 1 2 ) + x− 1 2 3.11. Gráficos bi e tridimensionais Há duas maneiras de plotar funções no Maxima. A primeira, com a função plot2d, o gráfico é mostrado numa janela separada. Caso o usuário queira que o gráfico fique embutido na planilha do Maxima, deve usar a função wxplot2d. A sintaxe de ambas é idêntica: 27 3. Breve apresentação do software livre Maxima plot2d(fun(x),[x,a,b]) - plota o gráfico de fun(x), sendo �x� a variável independente, de �a� a �b� wxplot2d(fun(x),[x,a,b]) Há argumentos opcionais, como mudar o nome dos eixos, legenda etc. Os resultados estão mostrados nas Figuras 3.11.1, 3.11.2 e 3.11.3. Os gráficos gerados no Maxima podem ser salvos diretamente como arquivos, nos formato png (opção png_file), eps (opção ps_file) e pdf (opção pdf_file). O caminho onde o arquivo foi gravado aparece na saída do comando: (%i14) plot2d (3*x^3+5*x^2-x+6, [x,-3,1], [png_file, "funcao1.png"]); (%o14) /home/adilson/maxout.gnuplot/home/adilson/funcao1.png 3.12. Limites e continuidade de funções Em um comando do Maxima, ao se colocar um apóstrofo (') antes de tal comando, isto inibe o Maxima de processar o comando, retornando a própria entrada. ATENÇÃO: ao se gerar o documento pdf, o apóstrofo aparece como uma aspa simples. O caracter correto é o mostrado no código a seguir, colado aqui como figura: . Comparar com: (%i1) 'limit(sin(x)/x,x,0)=limit(sin(x)/x,x,0); (%o1) lim x→0 sin (x) x = 1 Tal funcionalidade é útil para se visualizar o que se deseja calcular, antes do resultado do cálculo, como mostrado nos comandos a seguir. O gráfico da função 1 x−1 está mostrado na Figura 3.12.1. (%i54) 'limit((x^2+x+1)/(x+1),x,1)=limit((x^2+x+1)/(x+1),x,1); 'limit(1/(x-1),x,1,plus)=limit(1/(x-1),x,1,plus); 'limit(1/(x-1),x,1,minus)=limit(1/(x-1),x,1,minus); plot2d(1/(x-1),[x,0.5,1.5],[y,-100,100]); 'limit(1/(x-1),x,minf)=limit(1/(x-1),x,minf); 'limit(1/(x-1),x,inf)=limit(1/(x-1),x,inf); 'limit(sin(x)/x,x,0)=limit(sin(x)/x,x,0); (%o54) lim x→1 x2 + x+ 1 x+ 1 = 3 2 (%o55) lim x→1+ 1 x− 1 =∞ (%o56) lim x→1− 1 x− 1 = −∞ (%o58) lim x→−∞ 1 x− 1 = 0 (%o59) lim x→∞ 1 x− 1 = 0 (%o60) lim x→0 sin (x) x = 1 28 3. Breve apresentação do software livre Maxima Figura 3.11.1.: Gráficos bidimensionais no Maxima. 29 3. Breve apresentação do software livre Maxima (%i8) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$ plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50], [style, points, lines], [color, red, blue], [point_type, asterisk], [legend, "experimento", "teórico"], [xlabel, "comprimento do pêndulo (cm)"], [ylabel, "período (s)"])$ Figura 3.11.2.: Gráfico bidimensional com pontos discretos e curva contínua. (%i6) plot3d (u^2 - v^2, [u, -2, 2], [v, -3, 3], [grid, 100, 100], [mesh_lines_color,false])$ (%i7) plot3d (log (x^2*y^2), [x, -2, 2], [y, -2, 2],[grid, 29, 29], [palette, [gradient, red, orange, yellow, green]], color_bar, [xtics, 1], [ytics, 1], [ztics, 4],[color_bar_tics, 4])$ Figura 3.11.3.: Gráficos tridimensionais no Maxima. 30 3. Breve apresentação do software livre Maxima Figura 3.12.1.: Limites simples e laterais no Maxima. 3.13. Derivadas 3.13.1. Derivadas simples e pontos críticos de uma função O gráfico da função usada no exemplo a seguir está mostrado na Figura 3.13.1. Lembrar que os pontos críticos de uma função são os zeros da derivada primeira. O sinal da derivada segunda, avaliada nos pontos críticos, determinam se tais pontos são máximo, mínimo ou de inflexão. (%i15) f1:x^3-2.5*x^2+0.5*x+1.0; f2:'diff(f1,x)=diff(f1,x) /* derivada primeira */; f2a:diff(f1,x)$ f2b:f2a,x:2 /* derivada no ponto x=2 */; f3:'diff(f1,x,2)=diff(f1,x,2) /* derivada segunda */; f4:float(solve(f2a,x)) /* pontos criticos da funcao f1 */; f4a:diff(f1,x,2)$ f4b:f4a,x:0.10685017607655 /* analisando se é ponto de max ou mín */; f4c:f4a,x:1.559816490590112 /* analisando se é ponto de max ou mín */; f5:solve(f1,x) /* raizes da funcao f1 */; plot2d(f1,[x,-1,2.5]); (%o15) x3 − 2.5x2 + 0.5x+ 1.0 (%o16) d d x ( x3 − 2.5x2 + 0.5x+ 1.0) = 3x2 − 5.0x+ 0.5 (%o18) 2.5 (%o19) d2 d x2 ( x3 − 2.5x2 + 0.5x+ 1.0) = 6x− 5.0 (%o20) [x = 0.10685017607655, x = 1.559816490590112] (%o22) − 4.3588989435407 (%o23) 4.358898943540671 (%o24) [x = 2, x = −1 2 , x = 1] 3.13.2. Derivadas parciais de uma função diff(f(x1 , x2 · · ·), x1, n1, x2, n2, · · ·): derivada parcial da função f (x1, x2, · · ·) em relação à x1 , n1 vezes, em relação a x2 , n2 vezes,... 31 3. Breve apresentação do software livre Maxima Figura 3.13.1.: Função usada no exemplo de derivadas e pontos críticos. Como exemplo, deseja-se calcular as derivadas ∂3f ∂2x∂y e ∂2f ∂x∂y , assim como a matriz jacobiana e a matriz hessiana, para a função f(x, y) = sen(x) cos(y2). (%i1) f(x,y):=sin(x)*cos(y^2); diff(f(x,y),x,2,y,1); diff(f(x,y),x,1,y,1); jacobian([f(x,y)],[x,y]) /* matriz jacobiana */; jacobian([exp(x+y),x^2-y^2],[x,y]) /* matriz jacobiana de um campo vetorial */; hessian(f(x,y),[x,y]) /* matriz hessiana */; (%o1) f (x, y) := sin (x) cos ( y2 ) (%o2) 2 sin (x) y sin ( y2 ) (%o3) − 2 cos (x) y sin (y2) (%o4) ( cos (x) cos ( y2 ) −2 sin (x) y sin (y2)) (%o5) ( ey+x ey+x 2x −2 y ) (%o6) ( −sin (x) cos (y2) −2 cos (x) y sin (y2) −2 cos (x) y sin (y2) −2 sin (x) sin (y2)− 4 sin (x) y2 cos (y2) ) 3.14. Integrais indefinidas, definidas e área abaixo de uma curva A função f(x) = sen5(x) cos(x), usada no exemplo a seguir, cujas raízes são 0 e pi2 , está mostrada na Figura 3.14.1. (%i1) f6:sin(x)^5*cos(x); f7:'integrate(f6,x)=integrate(f6,x) /* integral indefinida */; diff(f7,x) /* checando a solução */; solve(f6,x) /* calculando as raízes de f6 */; f8:'integrate(f6,x,0,%pi/2)=integrate(f6,x,0,%pi/2) /* integral definida ou a área abaixo da curva f6, entre as raízes */; plot2d(f6,[x,0,%pi/2])$ (%o1) cos (x) sin (x)5 32 3. Breve apresentação do software livre Maxima Figura 3.14.1.: Função usada no exemplo de integração. (%o2) ∫ cos (x) sin (x)5dx = sin (x)6 6 (%o3) cos (x) sin (x)5 = cos (x) sin (x)5 (%o4) [x = 0, x = pi 2 ] (%o5) ∫ pi 2 0 cos (x) sin (x)5dx = 1 6 O comando assume serve para informar o Maxima a condição de uma constante, quando o sinal desta afeta o cálculo a ser feito; caso contrário, o Maxima perguntará ao usuário se a constante é positiva, negativa ou zero. Neste caso, basta digitar �p�, �n� ou �z� e em seguida SHIFT+ENTER. (%i1) kill(all); 'integrate (x^a*exp(-x), x, 0, inf)=integrate (x^a*exp(-x), x, 0, inf); (%o0) done Is a+1 positive, negative or zero? p; (%o1) ∫ ∞ 0 xa e−xdx = γ (a+ 1) (%i8) assume (a > 1)$ 'integrate (x^a*exp(-x), x, 0, inf)=integrate (x^a*exp(-x), x, 0, inf); (%o9) ∫ ∞ 0 xa e−xdx = γ (a+ 1) Quando não é possível calcular a integral definida analiticamente 2 , pode-se utilizar métodos numéricos de integração(quadpack e romberg). O método quadpack retorna uma lista com quatro elementos: 1. Valor da integral; 2. Erro absoluto estimado; 3. Número de avaliações da função integranda; 4. Código de erro (ver manual ou o Help do Maxima para a descrição doserros, sendo 0 se não foi encontrado nenhum problema); 2 Quando isto acontece o Maxima retorna o mesmo comando que foi fornecido. 33 3. Breve apresentação do software livre Maxima (%i7) f9:sin(1/(x+1/10))$ f10:integrate(f9,x,0,1); quad_qags(f9, x, 0, 1); romberg(f9, x, 0, 1); (%o8) ∫ 1 0 sin ( 1 x+ 110 ) dx (%o9) [0.59450627843597, 1.9863236970333475 10−10, 147, 0] (%o10) 0.59450623879743 3.15. Programação no Maxima 3.15.1. Instrução: if Tomada de uma decisão numa situação condicional: if condição then instrução; end if condição then instrução1 else instrução2; end (%i1) a:5$ if a>0 then print("número positivo")$ b:-4$ if b>0 then print("número positivo") else print("número negativo")$ número positivo número negativo 3.15.2. Instrução: for...end Há duas possibilidades para o uso do for : for variável:valor1 step valor2 thru valor3 do instrução; ou for variável:valor1 step valor2 while condição do instrução; (%i1) /* calcula o quadrado dos números ímpares no intervalo de 1 até 10 */ for i:1 step 2 thru 10 do print(i^2); 1 9 25 49 81 (%o1) done (%i2) for i:1 step 2 while i<10 do print(i^2); 1 34 3. Breve apresentação do software livre Maxima 9 25 49 81 (%o2) done 3.15.3. Instrução block Para definir procedimentos mais elaborados que englobem sequências de instruções, deve-se utilizar a instrução block, cuja estrutura é: nome_do_comando(argumento1, argumento2,...,argumentok):=block( [variavel_local1, variavel_local2,...,variavel_localk], instrução 1, instrução 2, ... instrução n); (%i3) circulo(r):=block([area, perimetro], area:%pi*r^2, perimetro:2*%pi*r, return([area, perimetro]) ); circulo(3); (%o3) circulo (r) := block ( [area, perimetro], area : pi r2, perimetro : 2pi r, return ([area, perimetro]) ) (%o4) [9pi, 6pi] 3.16. Séries 3.16.1. Série de Taylor A função taylor(expr, x, a, n) expande a expressão expr em uma série de Taylor ou de Laurent, truncada, na variável x em torno do ponto a, contendo termos até (x - a)^n. No exemplo a seguir, encontram-se séries para a função sen(x) em torno do ponto zero, a forma geral da série de potência sem truncamento e novamente a série truncada expandida em torno do ponto pi. (%i1) f1:sin(x); f2:taylor(f1, x, 0, 8); f3:niceindices(powerseries(f1, x, 0)); f4:taylor(f1, x, %pi, 8); (%o1) sin (x) (%o2)/T/x− x 3 6 + x5 120 − x 7 5040 + ... (%o3) ∞∑ i=0 (−1)i x2 i+1 (2 i+ 1)! (%o4)/T/ − (x− pi) + (x− pi) 3 6 − (x− pi) 5 120 + (x− pi)7 5040 + ... 35 3. Breve apresentação do software livre Maxima Figura 3.16.1.: Aproximações por série de Taylor para a função cos(x). Dada a função cos(x), a Figura 3.16.1 mostra a função e os polinômios numa vizinhança de 0 (ponto de aproximação). Percebe-se que a precisão da aproximação depende da distância do ponto de apro- ximação (quanto mais próximo deste, melhor) e do grau do polinômio usado (quanto maior o grau, melhor). (%i1) f1:cos(x); f5:taylor(f1,x,0,1); f6:taylor(f1,x,0,4); f7:taylor(f1,x,0,6); f8:taylor(f1,x,0,8); plot2d([f1,f5,f6,f7,f8],[x,-4,4],[style,[lines,1,2],[lines,1,3], [lines,1,4],[lines,1,5],[lines,1,6]],[legend,"Função cos(x)", "Polinômio de Taylor de grau 1", "Polinômio de Taylor de grau 4", "Polinômio de Taylor de grau 6", "Polinômio de Taylor de grau 8"]); (%o1) cos (x) (%o2)/T/1 + ... (%o3)/T/1− x 2 2 + x4 24 + ... (%o4)/T/1− x 2 2 + x4 24 − x 6 720 + ... (%o5)/T/1− x 2 2 + x4 24 − x 6 720 + x8 40320 + ... 3.16.2. Série de Fourier Seja f uma função periódica, com período 2L, e contínua no intervalo [-L,L]. Então a série de Fourier de f é a série de funções: a0 + ∞∑ n=1 [ an cos (npix L ) + bnsen (npix L )] 36 3. Breve apresentação do software livre Maxima Figura 3.16.2.: Série de Fourier da função usada no exemplo. Os coeficientes an e bn são chamados de coeficientes de Fourier e são calculados do seguinte modo: a0 = 1 2L ∫ L −L f(x)dx an = 1 L ∫ L −L f(x)cos (npix L ) dx, n = 1, 2, 3, ... bn = 1 L ∫ L −L f(x)sen (npix L ) dx, n = 1, 2, 3, ... As funções que serão usadas no Maxima são: fourier (f, x, p): retorna uma lista dos coeficientes de Fourier de f(x) definidos no intervalo [-p, p]. fourexpand (l, x, p, limit): constroi e retorna a série de Fourier partindo da lista l dos coeficientes de Fourier até ao termo limit (limit pode ser inf). x e p tem o mesmo significado que na função fourier. (%i1) load(fourie)$ f(x):=abs(x)-2$ g:fourexpand(fourier(f(x),x,1),x,1,3); plot2d([f(x),g],[x,-1.5,1.5]); (%t3) a0 = −3 2 (%t4) an = 2 ( −sin (pi n) pi n + cos (pi n) pi2 n2 − 1 pi2 n2 ) (%t5) bn = 0 (%o5) − 4 cos (3pi x) 9pi2 − 4 cos (pi x) pi2 − 3 2 3.17. Regressão Linear Pretende-se estudar a relação da produção de uma variedade de trigo, em kg, e a quantidade de adubo fertilizante utilizado, em kg, conforme mostrado na Tabela 3.1. O gráfico comparando o modelo estimado e os dados experimentais está mostrado na Figura 3.17.1. 37 3. Breve apresentação do software livre Maxima Tabela 3.1.: Dados exeperimentais usados no exemplo de regressão linear. Fertilizante, kg 16 24 32 40 48 56 64 72 80 Quantidade de trigo, kg 199 214 230 248 255 305 298 323 359 Figura 3.17.1.: Exercício de aplicação de regressão linear. (%i11) dados:[[16,199],[24,214],[32,230],[40,248],[48,255],[56,305], [64,298],[72,323],[80,359]]$ load(stats)$ simple_linear_regression(dados); f(x):= 2.416666666666668*x + 154.111111111111; plot2d([[discrete,dados],f(x)],[x,16,84],[style,[points,1,5],[lines,1,4]], [legend,"Dados experimentais","Modelo calculado"], [xlabel,"Fertilizante, kg"],[ylabel,"Produção, kg"]); (%o13) SIMPLE LINEAR REGRESSION model = 2.416666666666668x+ 154.111111111111 correlation = 0.98266512147706 v_estimation = 114.0317460317458 b_conf_int = [2.009183744425169, 2.824149588908167] hypotheses = H0 : b = 0, H1 : b#0 statistic = 14.0239216561971 distribution = [student_t, 7] p_value = 2.220330900915002 10−6 (%o14) f (x) := 2.416666666666668x+ 154.111111111111 38 4. Campo de direções no Maxima O campo de direções é uma ferramenta importante para a avaliação de equações diferenciais pois dão fornecem uma solução qualitativa da equação diferencial (ou de um sistema de duas equações diferenciais de primeira ordem autônomas) através dos valores para os quais a solução de uma dada ED tende. O campo das direções é composto por vetores tangentes às soluções nos pontos do plano xy. Considere a EDO a seguir: dv dt = g − ( γ m ) v com: g = 9,8 m/s 2 ; γ = 2 kg/s; m = 10 kg. Fixando-se valores de t e v, podemos calcular dv/dt; como a derivada é a inclinação da reta tangente à curva v(t), os valores de dv/dt calculados são vetores que calculados ao longo de um dado intervalo, indicam o comportamento da solução v(t). Neste exemplo, como a EDO não depende da variável �t�, independente do valor desta, os valores da derivada somente variam com �v�, como mostrado na Figura 4.0.1. (%i2) kill(all); dvdt(t,v):=g-gamma/m*v; v:[40, 44, 48, 52, 56, 60]$ t:0$ dvdt(t,v), g:9.8, gamma:2, m:10; t:2$ dvdt(t,v), g:9.8, gamma:2, m:10; t:4$ dvdt(t,v), g:9.8, gamma:2, m:10; kill(all); plotdf(9.8-2/10*v,[t,v],[t,-0.9,10],[v,-0.9,65]); (%o0) done (%o1) dvdt (t, v) := g − γ m v (%o4) [1.8, 1.0, 0.2,−0.59999999999999,−1.399999999999998,−2.199999999999999] (%o6) [1.8, 1.0, 0.2,−0.59999999999999,−1.399999999999998,−2.199999999999999] (%o8) [1.8, 1.0, 0.2,−0.59999999999999,−1.399999999999998,−2.199999999999999](%o0) done A função que desenha o campo de direções no Maxima é plotdf, sendo que tal função só desenha campos de direções para equações diferenciais ordinárias de primeira ordem e que seja possível explicitar a derivada: dy dx = f(x, y) Possibilidades de uso da função plotdf: plotdf (dydx, ...options...) plotdf (dvdu, [u,v], ...options...) 39 4. Campo de direções no Maxima Figura 4.0.1.: Campo de direções como vetores tangentes à solução de uma EDO. plotdf ([dxdt,dydt], ...options...) plotdf ([dudt,dvdt], [u,v], ...options...) dydx, dxdt e dydt são expressões que dependem de x e y. dvdu, dudt e dvdt são expressões que dependem de u e v. Além dessas duas variáveis, as expressões podem também depender de um conjunto de parâmetros, com valores numéricos fornecidos com a opção de parâmetros (a sintaxe de opção é dada abaixo), ou com um intervalo de valores permitidos especificados por uma opção �sliders�. Muitas outras opções podem ser fornecidas dentro do comando, ou selecionadas no menu. Curvas integrais podem ser obtidas por meio de um clique no gráfico, ou com a opção trajectory_at. A direção da integração pode ser controlada com a opção direction, que pode ter valores de �forward� (adiante), �backward� (para trás) ou �both� (ambos). O número de passos de integração é fornecido por meio de nsteps e o intervalo de tempo entre eles é escolhido com a opção tstep. O método numérico utilizado é Runge-Kutta de 4ª ordem com intervalos de tempo variáveis. 4.1. Exemplo 1 Campo de direções de dy dx = exp(−x) + y, mostrando a solução particular que passa pelo ponto (2; -0,1), na Figura 4.1.1. (%i1) plotdf(exp(-x)+y,[trajectory_at,2,-0.1])$ 4.2. Exemplo 2 O seguinte exemplo mostra o campo de direção de um oscilador harmônico, definido pelas duas equações 40 4. Campo de direções no Maxima Figura 4.1.1.: Campo de direções: exemplo 1. dx dt = y e dy dt = (−k m ) x e a curva integral em todo o intervalo (x,y) = (6,0), com um botão de deslizamento que irá permitir a você mudar o valor de m interativamente (k está fixado em 2). O resultado está mostrado na Figura 4.2.1. (%i11) plotdf([v,-k*z/m], [z,v], [parameters,"m=2,k=2"], [sliders,"m=1:5"], [trajectory_at,6,0])$ 4.3. Exemplo 3 Para montar o gráfico do campo de direção da equação de Duffing, m d2x dt2 + c dx dt + kx+ bx3 = 0 introduzimos a variável y=x' e usamos o código a seguir. O resultado é o que está mostrado na Figura 4.3.1. (%i13) plotdf([y,-(k*x + c*y + b*x^3)/m], [parameters,"k=-1,m=1.0,c=0,b=1"], [sliders,"k=-2:2,m=-1:1"],[tstep,0.1]); 41 4. Campo de direções no Maxima Figura 4.2.1.: Campo de direções: exemplo 2. Figura 4.3.1.: Campo de direções: exemplo 3. 42 4. Campo de direções no Maxima Figura 4.4.1.: Campo de direções: exemplo 4. 4.4. Exemplo 4 O campo de direção para um pêndulo amortecido, descrito por: da dt = w dw dt = (−g l ) sen(a)− ( b ml ) w incluindo a solução para as condições iniciais fornecidas, com um botão de deslizamento que pode ser usado para mudar o valor da massa m, e com um gráfico das duas variáveis de estado como uma função do tempo, está no exemplo a seguir. Os resultados estão mostrados na Figura 4.4.1. (%i17) plotdf([w,-g*sin(a)/l - b*w/m/l], [a,w], [parameters,"g=9.8,l=0.5,m=0.3,b=0.05"], [trajectory_at,1.05,-9],[tstep,0.01], [a,-10,2], [w,-14,14], [direction,forward], [nsteps,300], [sliders,"m=0.1:1"], [versus_t,1])$ 4.5. Função drawdf Existe também no Maxima a função drawdf que é quase idêntica ao plotdf, porém usa uma biblioteca diferente para plotar o gráfico resultante. Usuários de wxMaxima ou Imaxima podem opcionalmente usar wxdrawdf, que é idêntica ao drawdf, exceto que os gráficos são desenhados embutidos no �works- pace� do Maxima, usando wxdraw. Para detalhes completos e exemplos de sua utilização, consultar o Help do Maxima. Antes de utilizar a função, ela deve ser carregada, como mostrado na Figura 4.5.1. 43 4. Campo de direções no Maxima Figura 4.5.1.: Campo de direções com a função drawdf. 44 5. Solução analítica de equações diferenciais ordinárias (EDOs) 5.1. Verificando se uma dada equação é solução de uma EDO Muitas vezes nos deparamos com uma equação e queremos simplesmente verificar se ela satisfaz uma dada EDO, sem nos preocuparmos com o método de solução que levou à equação dada. O comando ev serve para avaliar uma expressão na qual parte da mesma vai ser substituída por uma outra; já o comando diff, colocando após a vírgula, instrui ao Maxima para realizar a derivada da expressão montada com o comando anterior. Veja o exemplo a seguir. Considere a equação de Clairaut: y′(x)2 − xy′(x) + y(x) = 0 Verifique se y(x) = Cx− C2 e y(x) = x24 são soluções da equação de Clairaut. (%i1) eq4: 'diff(y,x)^2 - x*'diff(y,x) + y = 0; eq5: y = C*x - C^2; ev(eq4,eq5); ev(eq4,eq5),diff; eq6: y = x^2/4; ev(eq4,eq6); ev(eq4,eq6),diff; (%o1) ( d d x y )2 − x ( d d x y ) + y = 0 (%o2) y = xC − C2 (%o3) ( d d x ( xC − C2))2 − x ( d d x ( xC − C2))− C2 + xC = 0 (%o4) 0 = 0 (%o5) y = x2 4 (%o6) ( d d x x2 4 )2 − x ( d d x x2 4 ) + x2 4 = 0 (%o7) 0 = 0 Percebemos que ambas as soluções satisfazem a equação de Clairaut, já que após a substituição de cada solução na EDO, econtrou-se uma identidade matemática. 5.2. Equações diferenciais de 1ª ordem 5.2.1. Encontrando a solução geral de uma ED de 1ª ordem A solução geral de uma ED de 1ª ordem é encontrada usando as seguintes etapas: 45 5. Solução analítica de equações diferenciais ordinárias (EDOs) 1. Entrar com a EDO; nesta etapa, usar o apóstrofo antes do comando diff para inibir o Maxima de proceder à derivada e assim permitir montar a equação diferencial; 2. Resolver a EDO usando a função ode2(edo, variável dependente, variável independente); Se por alguma razão ode2 não conseguir encontrar a solução, retornará false, após talvez mostrar uma mensagem de erro. Os métodos implementados para equações diferenciais de primeira ordem, na ordem em que serão testados, são: linear, separável, exata - talvez requerendo um fator de integração, homogênea, equação de Bernoulli, homogênea generalizada. Durante o processo de resolução da EDO, serão dados valores a várias variáveis locais, com fins pu- ramente informativos: method denota o método de solução usado (por exemplo, linear), intfactor denota qualquer fator integrante utilizado, odeindex denota o índice para o método de Bernoulli ou para o método homogêneo generalizado, e yp denota a solução particular no método de variação dos parâmetros (solução de EDOs de 2ª ordem, não homogêneas). Na solução geral aparece a constante de integração, que no caso de ED de 1ª ordem é nomeada automaticamente pelo Maxima como %c. No exemplo a seguir, resolve-se a EDO de 1ª ordem, linear, não homogênea, de coeficientes variáveis, ty′ + 2y = 4t2. (%i4) kill(all); eq1:t*'diff(y,t)+2*y=4*t^2; eq2:ode2(eq1,y,t); method; intfactor; (%o0) done (%o1) t ( d d t y ) + 2 y = 4 t2 (%o2) y = t4 + %c t2 (%o3) linear (%o4) false ATENÇÃO: Na montagem da EDO no Maxima, o comando diff é precedido por um apóstrofo ('). Entretanto, ao se gerar o documento pdf a partir do L A T E X, o apóstrofo aparece como uma aspa simples. Compare o mesmo código anterior com o mostrado a seguir, colado como figura do Maxima, a fim de não se alterar a formatação! 5.2.2. Encontrando a solução particular de uma ED de 1ª ordem Considere o PVI (Problema de Valor Inicial) a seguir: 46 5. Solução analítica de equações diferenciais ordinárias (EDOs) Figura 5.2.1.: Solução de um PVI, com equaçãodiferencial de 1ª ordem. ty′ + 2y = 4t2 y(1) = 2 A solução deste PVI no Maxima consiste nas seguintes etapas: 1. Entrar com a EDO; 2. Resolver a EDO usando a função ode2(edo, variável dependente, variável independente); 3. Aplicar a condição inicial usando a função ic1(solução da edo, condição inicial da variável independente, condição inicial da variável dependente); 4. Fazer um gráfico da solução (opcional, mas auxilia a visualizar o tipo de solução encontrado); As etapas anteriores estão no código do Maxima a seguir e a solução particular encontrada está mos- trada na Figura 5.2.1: (%i6) kill(all); eq1:t*'diff(y,t)+2*y=4*t^2; eq2:ode2(eq1,y,t); eq3:ic1(eq2,t=1,y=2); method; plot2d(rhs(eq3),[t,0.1,10]); (%o0) done (%o1) t ( d d t y ) + 2 y = 4 t2 (%o2) y = t4 + %c t2 (%o3) y = t4 + 1 t2 (%o4) linear 5.2.3. EDO com solução implícita Nem sempre na solução de uma EDO é possível encontrar uma resposta explícita na variável depen- dente, como é o caso da solução desta equação diferencial separável: dy dx = x2 1− y2 . A solução no 47 5. Solução analítica de equações diferenciais ordinárias (EDOs) Maxima, que não difere em nada dos exemplos anteriores, está mostrada a seguir. (%i16) kill(all); eq1:'diff(y,x)=x^2/(1-y^2); eq2:ode2(eq1,y,x); eq3:ratsimp(%)*3; method; (%o0) done (%o1) d d x y = x2 1− y2 (%o2) − y 3 − 3 y 3 = x3 3 + %c (%o3) 3 y − y3 = x3 + 3 %c (%o4) separable Exercício: Como você faria um esboço da solução geral do exemplo anterior usando o Maxima? 5.2.4. Solução de EDOs exatas Considere a EDO exata a seguir: (y cos(x) + 2xey) + (sen(x) + x2ey − 1)y′ = 0. Usando o Maxima, mostre que se trata de uma EDO exata e em seguida resolva-a. (%i7) kill(all); eq1:(y*cos(x)+2*x*%e^y)+(sin(x)+x^2*%e^y-1)*'diff(y,x); M:(y*cos(x)+2*x*%e^y); N:(sin(x)+x^2*%e^y-1); ratsimp(diff(M,y)-diff(N,x)) /* verificando se a EDO é exata */; eq2:ode2(eq1,y,x); method; (%o0) done (%o1) ( x2 ey + sin (x)− 1) ( d d x y ) + 2x ey + cos (x) y (%o2) 2x ey + cos (x) y (%o3) x2 ey + sin (x)− 1 (%o4) 0 (%o5) x2 ey + (sin (x)− 1) y = %c (%o6) exact 5.2.5. Exemplo 1: variação da massa de um soluto com o tempo a volume constante Considere um tanque agitado, a volume constante, no qual há a variação da massa de um soluto de uma solução com o tempo, conforme descrito pelo esquema mostrado na Figura 5.2.2 e no modelo a seguir: dm dt + ( r V ) m = rc0 t = 0; m = m0 48 5. Solução analítica de equações diferenciais ordinárias (EDOs) Figura 5.2.2.: Variação da massa com o tempo para um tanque agitado (m0=1, c0=1, V= 2, r=1) No modelo, m é massa dentro do tanque; r é a vazão volumétrica [volume/tempo] e c concentração mássica [massa/volume]. A solução deste modelo, no Maxima, é (ver a Figura 5.2.2 para a solução na forma gráfica para um conjunto específico das constantes do modelo): (%i1) edo1:'diff(m,t)+(r/V)*m=r*c0; sol1:ode2(edo1,m,t)$ expand(%); sol2:ic1(sol1,t=0,m=m0)$ expand(%); sol3:sol2, m0:1, c0:1, V: 2, r:1$ expand(%); 'limit(rhs(sol3),t,inf)=limit(rhs(sol3),t,inf); plot2d(rhs(sol3),[t,0,15],[ylabel,"m"])$ (%o1) mr V + d d t m = c0 r (%o3) m = %c e− r t V + c0V (%o5) m = −c0V e− r tV +m0 e− r tV + c0V (%o7) m = 2− e− t2 (%o8) lim t→∞ e − t 2 ( 2 e t 2 − 1 ) = 2 5.2.6. Exemplo 2: lei do resfriamento de Newton Um corpo que está em uma temperatura T, exposto a um ambiente de temperatura Ta, troca calor com tal ambiente segundo a lei do resfriamento de Newton, descrita por: dT dt = −k [T − Ta]. Ta pode variar no tempo, como por exemplo: Ta(t) = T0 + T1 cos(ωt). A solução gráfica está na Figura 5.2.3. 49 5. Solução analítica de equações diferenciais ordinárias (EDOs) Figura 5.2.3.: Solução do problema envolvendo a lei de resfriamento de Newton. (%i1) kill(all); edo1:'diff(T,t)=-k*(T-Ta(t)); sol1:ode2(edo1,T,t)$ expand(%); edo2:'diff(T,t)=-k*(T-T0+T1*cos(\omega*t)); sol2:ode2(edo2,T,t)$ expand(%); sol3:ic1(sol2,t=0,T=20)$ sol4:sol3,k:0.2, \omega:0.5, T0:25, T1:1; plot2d(rhs(sol4),[t,0,50],[ylabel,"T"])$ (%o0) done (%o1) d d t T = −k (T − Ta (t)) (%o3) T = k e−k t ∫ ek t Ta (t) dt+ %c e−k t (%o4) d d t T = −k (cos (ω t) T1− T0 + T ) (%o6) T = −k ω sin (ω t) T1 ω2 + k2 − k 2 cos (ω t) T1 ω2 + k2 + T0 + %c e−k t (%o8) T =− 3.448275862068965 e−0.2 t( 0.1 e0.2 t sin (0.5 t) + 0.04 e0.2 t cos (0.5 t) + 25 ( 0.29− 0.29 e0.2 t)− 5.84) 5.3. Equações diferenciais lineares de 2ª ordem 5.3.1. Solução geral Os tipos de equações de segunda ordem que podem ser resolvidas são: coeficientes constantes, exatas, linear homogêneas com coeficientes não constantes que possam ser transformados para constantes, equação de Euler ou equi-dimensional, equações que possam ser resolvidas pelo método de variação dos parâmetros, e equações que não dependam ou da variável independente ou da variável dependente, de modo que possam ser reduzidas a duas equações lineares de primeira ordem a serem resolvidas sequencialmente. Algumas equações especiais também são reconhecidas. Caso o Maxima não consiga resolver a EDO, é retornado false. 50 5. Solução analítica de equações diferenciais ordinárias (EDOs) Figura 5.3.1.: Funções de Bessel J0(x) e Y0(x). Considere a equação de Bessel de ordem zero: x2y′′ + xy′ + x2y = 0 Cuja solução geral é dada nos manuais como sendo: y(x) = c1J0(x) + c2Y0(x) (%i1) eq1:x^2*'diff(y,x,2)+x*'diff(y,x)+x^2*y=0; sol1:ode2(eq1,y,x); plot2d([bessel_y(0,x), bessel_j(0,x)],[x,0,15],[y,-0.5,1])$ limit(bessel_y(0,x),x,0); (%o1) x2 ( d2 d x2 y ) + x ( d d x y ) + x2 y = 0 (%o2) y = bessel_y (0, x) %k2 + bessel_j (0, x) %k1 (%o4) −∞ Na solução anterior, J0(x) e Y0(x) são chamadas de funções de Bessel, do primeiro tipo e ordem zero. Percebe-se na Figura 5.3.1 o comportamento oscilatório de tais funções, passando por valores negativos. Isto leva à necessidade de adimensionalizar modelos descritos por equações de Bessel, que aparecem em geometrias cilíndricas e esféricas, para o intervalo [0, 1], a fim de garantir que a solução obtida seja fisicamente compatível, por exemplo, evitando de serem obtidas concentrações negativas. Outra observação, é que a função Y0(x) tende para menos infinito quando x tende a zero. Isto faz com que a constante de integração associada a esta função seja arbitrada como sendo nula a fim de evitar que concentração ou temperatura vá para menos infinito no centro do corpo, ou em x = 0, em geometrias cilíndricas e esféricas. Seus valores encontram-se em tabelas ou podem ser calculados por �softwares� e calculadoras científicas. O Maxima dispõe de todas as funções de Bessel na classe de funções especiais. (%i5) [bessel_j(0,1), bessel_y(0,1), bessel_k(0,1), bessel_i(0,1)], numer; (%o5) [0.76519768655796, 0.088256964215676, 0.4210244382407, 1.266065877752008] 5.3.2. Solução de PVIs Considere o PVI a seguir: 51 5. Solução analítica de equações diferenciais ordinárias (EDOs) Figura 5.3.2.: PVI envolvendo uma EDO de 2ª ordem. d2y dx2 − 3dy dx + 2y = 0 y(0) = 0 y′(0) = 0, 5 A solução encontra-se a seguir, onde a função ic2 é usada para inserir a condição inicial envolvendo a variável dependente e sua derivada, conhecidas para um mesmo ponto da variável independente. A solução geral encontrada é comparada com as raízes da equação característica. A solução particular do problema está mostrada na Figura 5.3.2. (%i10) kill(all); eq1:'diff(y,x,2)-3*'diff(y,x)+2*y /* edo homogenea */; eq2:ode2(eq1,y,x); eq3:ic2(eq2,x=0,y=0,'diff(y,x)=0.5); plot2d(rhs(eq3),[x,-5,1]); method; eq_caracteristica:r^2-3*r+2; solve(eq_caracteristica,r);(%o0) done (%o1) d2 d x2 y − 3 ( d d x y ) + 2 y (%o2) y = %k1 e2x + %k2 ex rat: replaced 0.5 by 1/2 = 0.5 (%o3) y = e2x 2 − e x 2 (%o5) constcoeff (%o6) r2 − 3 r + 2 (%o7) [r = 1, r = 2] 5.3.3. Exemplo: difusão e reação de um componente gasoso em um líquido (Rice and Do., 1995, exemplo 2.7) 52 5. Solução analítica de equações diferenciais ordinárias (EDOs) Considere uma torre de absorção reativa, usada na lavagem de um gás tóxico, na qual o gás solúvel A, reativo, se dissolve numa interface plana de um corpo longo de líquido reagente, com o qual ele reage através da equação da taxa irreversível e não linear: rA = knC n A Assumindo que a reação seja de primeira ordem (n = 1) e que em z = 0, CA = 0 e dCA dz = 1. O ba- lanço de massa no sistema, no estado estacinário, conduz a: D d2CA dz2 − knCA = 0. A solução no Maxima é: (%i1) kill(all)$ assume(D>0,k_n>0); edo1:D*'diff(C_A,z,2)-k_n*C_A^1; solve(D*r^2-k_n,r) /* equação característica */; sol3:ode2(edo1,C_A,z); sol4:ic2(sol3, z=0, C_A=0,'diff(C_A,z)=1); sol5:rhs(sol4),D=0.1,k_n=0.5; plot2d(sol5,[z,0,1],[style,[lines,5]],[ylabel,"C_A"], [xlabel,"z"])$ (%o1) [D > 0, k_n > 0] (%o2) ( d2 d z2 C_A ) D − k_nC_A (%o3) [r = − √ k_n√ D , r = √ k_n√ D ] (%o4) C_A = %k1 e √ k_n z√ D + %k2 e − √ k_n z√ D (%o5) C_A = √ De √ k_n z√ D 2 √ k_n − √ De − √ k_n z√ D 2 √ k_n (%o6) 0.22360679774997 e2.23606797749979 z − 0.22360679774997 e−2.23606797749979 z Adotando D = 0, 1 e kn = 0, 5; o gráfico da concentração em função do comprimento está mostrado na Figura 5.3.3, onde percebe-se o comportamento exponencial do sistema, ditado pelas raízes da equação característica. Este comportamento é genérico para este tipo de sistema ou é um caso particular para os valores das constantes adotadas? 5.3.4. Solução de PVCs O PVC: d2y dx2 − 3dy dx + 2y = 0 y(0) = 0 y(1) = 2 tem a solução mostrada a seguir, onde a função bc2 é usada para inserir a condição de contorno envolvendo a variável dependente e a variável independente, conhecidas para dois pontos diferentes da variável independente: 53 5. Solução analítica de equações diferenciais ordinárias (EDOs) Figura 5.3.3.: Difusão e reação de um componente gasoso. (%i10) kill(all); eq1:'diff(y,x,2)-3*'diff(y,x)+2*y /* edo homogenea */; eq2:ode2(eq1,y,x); eq3:bc2(eq2,x=0,y=0,x=1,y=2); eq3,x:0 /* checando as condicoes de contorno */; eq3,x:1, numer; method; eq_caracteristica:r^2-3*r+2; solve(eq_caracteristica,r); (%o0) done (%o1) d2 d x2 y − 3 ( d d x y ) + 2 y (%o2) y = %k1 e2x + %k2 ex (%o3) y = 2 e2x e2 − e − 2 ex e2 − e (%o4) y = 0 (%o5) y = 1.999999999999999 (%o6) constcoeff (%o7) r2 − 3 r + 2 (%o8) [r = 1, r = 2] 5.3.5. EDOs não homogêneas Considere o PVI a seguir: d2y dx2 − 3dy dx + 2y = 5 exp(x)− sin(x) y(0) = 0 y′(0) = 0, 5 54 5. Solução analítica de equações diferenciais ordinárias (EDOs) Figura 5.3.4.: Solução de uma EDO de segunda ordem, não homogênea. A solução segue os mesmos passos já apresentados; a única novidade aqui é que o método de solução usado pelo Maxima é a variação dos parâmetros, que fica armazenada na variável yp. A solução particular está mostrada na Figura 5.3.4. (%i9) kill(all); eq1:'diff(y,x,2)-3*'diff(y,x)+2*y-5*%e^x+sin(x) /* edo nao homogenea */; eq2:ode2(eq1,y,x); eq3:ic2(eq2,x=0,y=0,'diff(y,x)=0.5); plot2d(rhs(eq3),[x,-5,1],[ylabel,"y"]); method; eq_caracteristica:r^2-3*r+2; solve(eq_caracteristica,r); yp; (%o0) done (%o1) d2 d x2 y − 3 ( d d x y ) + 2 y + sin (x)− 5 ex (%o2) y = −sin (x) + 3 cos (x) + (50x+ 50) e x 10 + %k1 e2x + %k2 ex rat: replaced 10.6 by 53/5 = 10.6 (%o3) y = 53 e2x 10 − sin (x) + 3 cos (x) + (50x+ 50) e x 10 (%o5) variationofparameters (%o6) r2 − 3 r + 2 (%o7) [r = 1, r = 2] (%o8) − sin (x) + 3 cos (x) + (50x+ 50) e x 10 5.3.6. Exemplo: Dinâmica de um tanque agitado com aquecimento elétrico Um fenômeno que é amplamente estudado no Controle de Processos é o arranjo em série de sistemas, resultando numa dinâmica global de ordem superior. Por exemplo, dois sistemas de primeira 55 5. Solução analítica de equações diferenciais ordinárias (EDOs) ordem em série, resultam num sistema de segunda ordem. Isto pode ser facilmente visualizado quando se toma as equações diferenciais individuais de cada sistema, de primeira ordem, e combina-se tais equações numa única, resultando numa EDO de segunda ordem. Considere um tanque agitado com aquecimento elétrico, como o mostrado na Figura 5.3.5. A dinâmica da temperatura dentro do tanque e no sistema de aquecimento pode ser representada por: mC dT dt = wC(Ti − T ) + heAe(Te − T ) meCe dTe dt = Q− heAe(Te − T ) A variável Te pode ser isolada na primeira EDO e substituída na segunda, resultando numa EDO de 2ª ordem, linear, de coeficientes constantes (com os parâmetros constantes), não homogênea, apenas com variável dependente T e variável independente t. Em seguida, a EDO de 2ª ordem resultante é resolvida, considerando m = 2, C = 1, me = 1, Ce = 0, 5; w = 1, he = 1, Ae = 1, Ti = 10 + 1, 5sent, Te = 15, Qe = 0, 5. Como as raízes da equação característica são r1 = �2,6 e r2 = �0,38, portanto reais, diferentes e de sinal negativo, parte da resposta deve ter um comportamento exponencial e assintótico, o que de fato se verifica na solução encontrada (ver Figura 5.3.5c). Como a temperatura de entrada Ti = 10 + 1, 5sent é função do tempo e oscilatória (influenciando na parte não homogênea da EDO), isto faz com que o sistema seja continuamente excitado, embora resulte numa dinâmica final estável, para o conjunto de parâmetros adotados. Neste exemplo, mostra-se que um sistema de duas EDOs pode ser combinado numa única EDO de ordem superior. A recíproca também é verdadeira, ou seja, uma EDO de ordem n pode ser decomposta em um sistema de n EDOs de 1ª ordem. (%i1) depends([T,Te,Ti],t); eqn1:m*C*'diff(T,t)=w*C*(Ti-T)+he*Ae*(Te-T); eqn2:me*Ce*'diff(Te,t)=Q-he*Ae*(Te-T); eqn3:solve(eqn1,Te)[1]; eqn4:(Ae*he*ev(eqn2,eqn3,diff)+Ae*he*m*C*('diff(T,t,1))+ Ce*me*('diff(Ti,t,1))*w*C+Ae*he*w*C*T)/(C*w*he*Ae)$ eqn4:expand(%); eqn5:eqn4,m:2,C:1,me:1,Ce:0.5,w:1,he:1,Ae:1,Ti:10+1.5*sin(t),Te:15,Q:0.5,diff; eqn6:ode2(eqn5,T,t)$ eqn7:ic2(eqn6,t=0,T=5,'diff(T,t)=0); plot2d(rhs(eqn7),[t,0,30],[xlabel,"t"],[ylabel,"T"]); (%o1) [T (t) ,Te (t) ,Ti (t)] (%o2) mC ( d d t T ) = wC (Ti− T ) +Aehe (Te− T ) (%o3) Ceme ( d d t Te ) = Q−Aehe (Te− T ) (%o4) Te = mC ( d d t T ) + (wC +Aehe) T − TiwC Aehe (%o6) Cemme ( d2 d t2 T ) Aehew + Ceme ( d d t T ) wC + m ( d d t T ) w + Ceme ( d d t T ) Aehe +T = Q wC + Ceme ( d d t Ti ) Aehe +Ti (%o7) 1.0 ( d2 d t2 T ) + 3.0 ( d d t T ) + T = 1.5 sin (t) + 0.75 cos (t) + 10.5 (%o9) T = sin (t)− 2 cos (t) + 42 4 − ( 31 √ 5 + 50 ) e ( √ 5−3) t 2 20 + ( 31 √ 5− 50) e (−√5−3) t2 20 56 5. Solução analítica de equações diferenciais ordinárias (EDOs) Figura 5.3.5.: Tanque agitado com aquecimento elétrico. 5.3.7. Wronkiano O wronkiano de uma base de soluções pode ser calculado com o comando wronskian([fun1, fun2], var). Na verdade o comando wronskian apenas monta a matriz das soluções e suas respectivas derivadas primeiras; depois, deve ser seguido do comando determinant para calcular o determinante da matriz anterior: (%i1) load(functs)$ wronskian([f(x), g(x)],x); w:determinant(wronskian([%e^x, %e^(2*x)],x)); (%o2) ( f (x) g (x) d d x f (x) d d x g (x)
Compartilhar