Prévia do material em texto
Equações diferenciais ordinárias de 1ª ordem em Python Prof. David Fernandes Cruz Moura Descrição O emprego de modelos matemáticos para resolução de problemas clássicos em Engenharia que envolvem equações diferenciais ordinárias de primeira ordem. Propósito Empregar modelos matemáticos para resolver equações diferenciais ordinárias de primeira ordem é uma ferramenta importante para a resolução de situações clássicas em Engenharia, como a análise de circuitos elétricos nos domínios da frequência e do tempo, a análise de transferência de calor e massa em Engenharia Mecânica e o cálculo do escoamento de fluidos na Engenharia Civil, entre outras situações- problema da área. Preparação Antes de iniciar este conteúdo, instale um interpretador para a linguagem Python. No site oficial do Python (www.python.org) estão disponíveis para download os interpretadores Python 2.7 e Python 3.7 para vários sistemas operacionais, como Linux, Mac OS e Windows. Fique à vontade para escolher o sistema operacional de sua preferência. Objetivos Módulo 1 Método de Euler Reconhecer o método de Euler para resolução numérica de equações diferenciais ordinárias de primeira ordem, aplicando-o em situações- problema típicas em Engenharia por meio da implementação computacional em Python. Módulo 2 Método de Runge-Kutta Reconhecer o método de Runge-Kutta para resolução numérica de equações diferenciais ordinárias de primeira ordem, aplicando-o em situações-problema típicas em Engenharia por meio da implementação computacional em Python. Neste conteúdo, veremos formas de emprego de modelos matemáticos para resolver um problema clássico em Engenharia – a resolução de equações diferenciais ordinárias de primeira ordem. Provavelmente, você já se deparou com a necessidade de resolução de equações diferenciais ordinárias ao longo dos seus estudos, dada a sua grande utilização em um sem-número de aplicações que abrangem áreas distintas, como as Engenharias, a Biologia, a Matemática e a Economia, entre outras. Dentre diversos exemplos de aplicações dessas equações na natureza e nos fenômenos de interesse no mundo moderno, vale destacar a Lei de Faraday (que relaciona a variação do fluxo magnético com a geração de diferença de potencial elétrico), a Introdução equação de Schrödinger (uma das bases da Mecânica Quântica) e a Lei de Hubble (utilizada para explicar a expansão do universo) (BURIAN; LIMA, 2007). Em particular, temos que o emprego de modelos matemáticos para resolver equações diferenciais ordinárias de primeira ordem é uma ferramenta importante para resolução de situações clássicas em Engenharia, como a análise de circuitos elétricos nos domínios da frequência e do tempo, a análise de transferência de calor e massa em Engenharia Mecânica e o cálculo do escoamento de fluidos na Engenharia Civil, entre outras situações-problema da Engenharia. É fundamental destacar que problemas com equações diferenciais ordinárias requerem não só a equação propriamente dita, mas também a apresentação de um conjunto de condições iniciais – a saber, valores da função de interesse em pontos conhecidos – para que o cálculo possa ser efetuado. Focaremos, neste conteúdo, a resolução numérica de equações diferenciais ordinárias de primeira ordem que possuem tais condições iniciais – os denominados problemas de valor inicial. Em um problema de valor inicial, buscamos o valor da função em determinado ponto, dado que conhecemos o valor dessa mesma função em um ponto dado e a equação diferencial ordinária que governa o comportamento da função de interesse. Dessa forma, você conhecerá aqui os métodos mais tradicionais de resolução de EDO de 1ª ordem. Inicialmente, estudaremos o método de Euler e suas variantes. Em seguida, o método de Runge- Kutta. Em ambos os casos, você será não só capaz de compreender as técnicas propostas, mas também de aplicar os métodos estudados por meio da implementação computacional de programas em Python. Vamos lá? Bons estudos! 1 - Método de Euler Ao �nal deste módulo, você será capaz de reconhecer o método de Euler para resolução numérica de equações diferenciais ordinárias de primeira ordem, aplicando-o em situações- problema típicas em Engenharia por meio da implementação computacional em Python. Método de Euler Dada uma função y = f(x), a derivada é também uma função de x, calculada mediante emprego de regras próprias. Por exemplo, se nós temos uma função , a sua derivada é tal que: No entanto, é importante você perceber desde já que o objetivo aqui é diferente! Não queremos simplesmente calcular a derivada a partir de uma função de variável real. dy dx = f ′(x) y = e2x dy dx = 2e2x = 2y Na verdade, nosso propósito é encontrar uma função f(x) que satisfaça uma equação que contenha uma derivada, como dy/dx. Em outras palavras, o objetivo deste conteúdo é permitir que você consiga resolver equações diferenciais utilizando técnicas numéricas. Mas o que é uma equação diferencial? De maneira simples, uma equação diferencial é aquela que contém as derivadas de uma ou mais variáveis dependentes em relação a uma ou mais variáveis independentes (MOURA, 2017). Tais equações envolvendo derivadas podem assumir as mais variadas formas. Neste conteúdo, nos dedicaremos às técnicas de resolução de uma equação diferencial ordinária (EDO) dita de primeira ordem em um ponto qualquer x1, sujeita à condição inicial , em que x0 e x1 são números reais e que definem um intervalo I qualquer, enquanto y0 é um número real arbitrário. Esse problema, também conhecido como problema de valor inicial (PVI), assume a seguinte expressão geral, também ilustrada no gráfico a seguir: Resolva: dy dx = f(x, y) y (x0) = y0 dy dx = f(x, y) para x = x1, sujeito a: y (x0) = y0 Grafico: Solução de um problema de valor inicial: a partir de um ponto inicial (x0), chega-se à solução x1 de uma equação diferencial. Extraido de Moura, 2017, p. 107 Dessa maneira, apresentaremos os métodos numéricos de Euler e de Runge-Kutta, os quais você utilizará para resolução de problemas de valor inicial em EDO de 1ª ordem. Ao longo deste conteúdo, veremos os métodos, estudando seu princípio de funcionamento, suas limitações e os exemplos de aplicação. Agora vamos conhecer o método de Euler! Esse é o mais simples dentre os métodos numéricos para resolução de problemas de valor inicial, e sua fórmula está expressa a seguir: Para utilizar o método de Euler, basta promover o avanço sucessivo de um ponto x_{n} para um ponto x_{n+1} e calcular a função f(x) no ponto indicado. Temos que a sequência de pontos (X0, X1, …, Xn, Xn+1, ...) delimita uma curva no plano cartesiano até se chegar ao ponto final desejado. Um aspecto muito importante na aplicação desse método reside em determinar a quantidade necessária de passos intermediários para se resolver o problema. yn+1 = yn + hf (xn, yn) Essa quantidade é dependente de um dito valor h, também denominado de intervalo ou passo do método. Assim, temos que quanto maior a quantidade de passos intermediários (ou, se preferir, menor o valor de h), maior a precisão do método. Quer ver como isso funciona? Observe a ilustração apresentada no próximo gráfico, no qual temos um modelo gráfico de resolução de uma EDO de 1ª ordem em que foram utilizadas 6 aproximações sucessivas. Gráfico: Aproximações sucessivas da solução de uma EDO a partir do emprego do método de Euler. Extraido de Moura, 2017, p. 108 Aqui, vemos que a função f(x) é calculada não só em x0 e x1, mas nos cinco pontos intermediários que foram representados no gráfico (1,2,3,4,5). Vamos ver agora a operação numérica em si? Para fins de exemplificação, consideraremos a EDO de 1ª ordem dada por: O objetivo é encontrar o valor da função y = f(x) em x = 2, sabendo-se que y(1) = 2. Como fazer isso? Em primeiro lugar, considere a equação de Euler dada por . dy dx = 3x − 1 yn+1 = yn + hf (xn, yn) Podemos substituir a expressãof(xn,yn) pela função dada no enunciado. Desse modo, temos que . Uma vez que temos uma expressão matemática para avaliar e o valor correspondente da função no ponto inicial (afinal, estamos tratando de um problema de valor inicial, neste exemplo, x = 1), é hora de escolher o passo h para realização dos cálculos associados. A título de ilustração, considere um quinto do intervalo; logo, . Dadas as informações anteriores, constrói-se uma tabela com os valores intermediários, no modo apresentado a seguir: n x y 0 1,0 2,0 1 1,2 2,0 + 0,2 x (3 X 1 1) = 2,0 + 0,2 x 2 2,4 2 1,4 2,4 + 0,2 x (3 x 1 1) = 2,4 + 0,2 x 2 2,92 3 1,6 2,92 + 0,2 x (3 x - 1) = 2,92 + 0,2 3,2 = 3,56 4 1,8 3,56 + 0,2 x (3 x - 1) = 3,56 + 0,2 3,8 = 4,32 5 2,0 4,32 + 0,2 x (3 x - 1) = 4,32 + 0,2 4,4 = 5,2 Dessa maneira, chegamos ao resultado procurado (y(2)), que assume o valor de 5,2, conforme indicado ao final da tabela que acabamos de analisar. Vamos fazer alguns exercícios adicionais? yn+1 = yn + h(3x − 1) h = 2−1 5 = 0, 2 Exercício 1 Apresente o valor de y(1) em face da resolução da EDO de 1ª ordem y’ = cos(y) + sen(y), sendo y(0) = 3. Considere h = 0,1 e utilize o método de Euler. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = cos(y) + sen(y); - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Euler, temos o resultado indicado a seguir. n x y 0 0 3 1 0,1 2,915 2 0,2 2,840 3 0,3 2,774 4 0,4 2,717 5 0,5 2,667 6 0,6 2,624 7 0,7 2,554 8 0,8 2,554 n x y 9 0,9 2,502 10 1 2,502 Diante do emprego do método de Euler para resolução da EDO de 1ª ordem y’ = cos(y) + sen(y), sendo y(0) = 3 e considerando h = 0,1, temos que y(1) é igual a 2,502. Apresente o valor de y(1) em face da resolução da EDO de 1ª ordem y’ = 2y + 3, sendo y(0) = 3. Considere h = 0,1 e utilize o método de Euler. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = 2y + 3; - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Euler, temos o resultado indicado a seguir. n x y 0 0 3 1 0,1 3,9 Exercício 2 n x y 2 0,2 4,98 3 0,3 6,276 4 0,4 7,831 5 0,5 9,697 6 0,6 11,937 7 0,7 14,624 8 0,8 17,849 9 0,9 21,719 10 1 26,363 Diante do emprego do método de Euler para resolução da EDO de 1ª ordem y’ = 2y + 3, sendo y(0) = 3 e considerando h = 0,1, temos que y(1) é igual a 26,362. Apresente o valor de y(1) em face da resolução da EDO de 1ª ordem y’ = x.y, sendo y(0) = 3. Considere h = 0,1 e utilize o método de Euler. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = x.y; Exercício 3 - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Euler, temos o resultado indicado a seguir. n x y 0 0 3 1 0,1 3 2 0,2 3,03 3 0,3 3,03 4 0,4 3,183 5 0,5 3,183 6 0,6 3,476 7 0,7 3,685 8 0,8 3,943 9 0,9 4,258 10 1 4,641 Diante do emprego do método de Euler para resolução da EDO de 1ª ordem y’ = x.y, sendo y(0) = 3 e considerando h = 0,1, temos que y(1) é igual a 4,641. Apresente o valor de y(2) em face da resolução da EDO de 1ª ordem y’ = cos(y) + sen(y), sendo y(1) = 3. Considere h = 0,1 e utilize o método de Euler. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer Exercício 4 que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos que: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = cos(y) + sen(y); - O ponto inicial é 1; - O ponto final é 2; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Euler, temos o resultado indicado a seguir. n x y 0 1 3 1 1,1 2,915 2 1,2 2,840 3 1,3 2,774 4 1,4 2,717 5 1,5 2,667 6 1,6 2,624 7 1,7 2,586 8 1,8 2,554 9 1,9 2,526 10 2 2,502 Diante do emprego do método de Euler para resolução da EDO de 1ª ordem y’ = cos(y) + sen(y), sendo y(1) = 3 e considerando h = 0,1, temos que y(2) é igual a 2,502. Apresente o valor de y(2) em face da resolução da EDO de 1ª ordem y’ = 2y + 3, sendo y(1) = 3. Considere h = 0,1 e utilize o método de Euler. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = 2y + 3; - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Euler, temos o resultado indicado a seguir. n x y 0 0 3 1 0,1 3,9 2 0,2 4,98 3 0,3 6,276 4 0,4 7,831 Exercício 5 n x y 5 1,5 9,697 6 0,6 11,937 7 0,7 14,624 8 0,8 17,849 9 0,9 21,719 10 1 26,363 Diante do emprego do método de Euler para resolução da EDO de 1ª ordem y’ = 2y + 3, sendo y(1) = 3 e considerando h = 0,1, temos que y(2) é igual a 26,362. Apresente o valor de y(2) em face da resolução da EDO de 1ª ordem y’ = x.y, sendo y(1) = 3. Considere h = 0,1 e utilize o método de Euler. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = x.y; - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Exercício 6 Aplicando os conceitos ensinados neste conteúdopara o método de Euler, temos o resultado indicado a seguir. n x y 0 0 3 1 0,1 3,3 2 0,2 3,663 3 0,3 4,103 4 0,4 4,636 5 1,5 5,285 6 0,6 6,078 7 0,7 7,050 8 0,8 8,249 9 0,9 9,733 10 1 11,583 Diante do emprego do método de Euler para resolução da EDO de 1ª ordem y’ = x.y, sendo y(1) = 3 e considerando h = 0,1, temos que y(2) é igual a 11,583. Vamos ver agora como utilizar o método de Euler para resolver equações diferenciais ordinárias de primeira ordem em Python? Por exemplo, resolveremos o problema de valor inicial dado por para encontrar o valor da função y = f(x) em x = 1. Para tal, consideraremos h = 6. Veja o código a seguir: u′(t) = 2u(t),u(0) = 1 Apesar de sua simplicidade, é importante destacar o resultado final obtido: y(1) = 5,378, que é bastante diferente do resultado real (e2 = 7,389). Aplicando o Método de Euler em Python Entenda melhor como modelar o problema matemático e criar os códigos em Python. Vamos lá! Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos? Questão 1 Considere que a queda de tensão V em um circuito elétrico, do ponto de alimentação até a carga, seja expressa por meio de uma EDO de 1ª ordem , sendo y(0) = 3.000 volts. Dado que a distância é medida em quilômetros, assinale a única alternativa que apresenta o valor da tensão a 1 quilômetro do ponto de alimentação. Para tal, utilize o método de Euler e o intervalo de aproximação (h) igual a 0,2. V ′ = e−3V − 1000 Parabéns! A alternativa A está correta. A resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é V' = e-3V - 1000 - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,2; e - O valor da função no ponto inicial é 3000. Aplicando os conceitos ensinados neste conteúdo para o método de Euler, temos: n x y 0 0 3000 A 2000 B 2200 C 2400 D 2600 E 2800 n x y 1 0,2 2800 2 0,4 2600 3 0,6 2400 4 0,8 2200 5 1,0 2000 Questão 2 Considere que a temperatura T de um produto em um processo de embalagem varie com o tempo de acordo com uma EDO de 1ª ordem T’ = -1,2.T, sendo y(0) = 30 graus Celsius. Dado que o tempo é medido em horas, assinale a única alternativa que apresenta o valor da temperatura do produto após 1 hora da conclusão do processo de embalagem. Para tal, utilize o método de Euler e o intervalo de aproximação (h) igual a 0,2. Parabéns! A alternativa A está correta. A resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça A 7,6 B 10,0 C 13,2 D 17,3 E 22,8 alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é T' = -1,2T; - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,2; e - O valor da função no ponto inicial é 30. Aplicando os conceitos ensinados neste conteúdo para o método de Euler, temos: n x y 0 0 30 1 0,2 22,8 2 0,4 17,3 3 0,6 13,2 4 0,8 10 5 1,0 7,6 2 - Método de Runge-Kutta Ao �nal deste módulo, você será capaz de reconhecer o método de Runge-Kutta para resolução numérica de equações diferenciais ordinárias de primeira ordem, aplicando-o em situações-problema típicas em Engenharia por meio da implementação computacional em Python. Método de Runge-Kutta Apesar da simplicidade, o método de Euler apresenta grande limitação quanto à precisão de suas respostas, pois requer grande quantidade de intervalos para cálculo e resolução de um problema de valor inicial. Para fins de comparação, analisaremos novamente a equação diferencial ordinária estudada no módulo 1, ou seja: Isso posto, é importante lembrar que essa EDO de 1ª ordem apresenta uma solução analítica exata, expressa pela função . Assim, com uma simples substituição do valor da variável x por 2, vemos que o valor correto para x = 2 é y = f(x) = 5,5. dy dx = 3x − 1 f(x) = 32 x 2 − x + 32 Por que há essa diferença? Esse desvio ocorre em função do erro implícito ao método de Euler. Como mencionado, é recomendada a utilização de uma quantidade maior de subintervalos entre os pontos inicial e final para corrigir tal imprecisão ― ou o emprego do Método de Runge-Kutta. Diante das duas alternativas indicadas no parágrafo anterior, é importante desde já você perceber que, em casos práticos, recomenda- se o emprego do Método de Runge-Kutta. Nesse método, o cálculo de yn+1 também é feito a partir de yn, só que dado pela execução sequencial das quatro expressões apresentadas a seguir: Quer ver como isso ocorre na prática? Utilizaremos a mesma EDO de 1ª ordem já mencionada, ou seja: Mais uma vez, o objetivo é encontrar o valor da função y = f(x) em x = 2, tendo como condição inicial que y(1) = 2. De igual modo, repetiremos o valor do intervalo de cálculo – ou seja, h = 0,2, como no exemplo de aplicação do método de Euler. Dessa maneira, as expressões de Runge-Kutta apresentadas assumem a seguinte forma: Se nós executarmos novamente o método aplicado, mas agora para , conseguiremos construir uma tabela k1 = h. f (xn, yn)k2 = h. f (xn + h 2 , yn + k1 2 )k3 = h. f (xn + h 2 , yn + k2 2 )k4 = h. f (xn + h, yn + k3)yn+1 = yn + k1 6 + k2 3 + k3 3 + k4 6 dy dx = 3x − 1 k1 = h ⋅ (3x − 1) = 0, 2 ⋅ (3 ⋅ 1 − 1) = 0, 4 ⋅ k2 = h ⋅ f (1 + 0, 2 2 , 2 + 0, 4 2 ) = 0, 2 ⋅ (3 = 0, 46k3 = h ⋅ f (1 + 0, 2 2 , 2 + 0, 46 2 ) = 0, 2 ⋅ (3 ⋅ 1, 1 − 1) = 0, 46k = h ⋅ f(1 + 0, 2, 2 + 0, 46) = 0, 2 ⋅ (3 ⋅ 1, 2 − 1) = 0, 52y1 = y0 + k1 6 + k2 3 + k3 3 + k4 6 = 2 + 0, 4 6 + 0, 46 3 + 0, 46 3 + 0, 52 6 = yn+1 em n ∈ ∖{1, 2, 3, 4, 5∖} com os valores intermediários no modo apresentado a seguir, a fim de se obter a resposta do método: n x y 0 1,0 2,0 1 1,2 2,46 2 1,4 3,04 3 1,6 3,74 4 1,8 4,56 5 2,0 5,5 Veja que, desta vez, nós obtivemos o resultado y(2) = 5,5, que é exatamente o valor indicado pelo método analítico citado ao final da exposição do método de Euler. De mesma forma que fizemos com o método de Euler, agora faremos alguns exercícios adicionais com o método de Runge-Kutta. Para que você consiga perceber bem as diferenças entre os métodos, resolveremos os mesmos exercícios do módulo 1, mas agora com a nova técnica que acabamos de aprender. Veja! Apresente o valor de y(1) em face da resolução da EDO de 1ª ordem y’ = cos(y) + sen(y), sendo y(0) = 3. Considere h = 0,1 e utilize o método de Runge-Kutta. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Exercício 1 Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = cos(y) + sen(y); - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Runge-Kutta, temos o resultado indicado a seguir. n x y 0 0 3 1 0,1 2,920 2 0,2 2,849 3 0,3 2,786 4 0,4 2,731 5 0,5 2,682 6 0,6 2,640 7 0,7 2,603 8 0,8 2,603 9 0,9 2,542 10 1 2,518 Diante do emprego do método deRunge-Kutta para resolução da EDO de 1ª ordem y’ = cos(y) + sen(y), sendo y(0) = 3 e considerando h = 0,1, temos que y(1) é igual a 2,518. Exercício 2 Apresente o valor de y(1) em face da resolução da EDO de 1ª ordem y’ = 2y + 3, sendo y(0) = 3. Considere h = 0,1 e utilize o método de Runge-Kutta. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = 2y + 3; - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Runge-Kutta, temos o resultado indicado a seguir. n x y 0 0 3 1 0,1 3,996 2 0,2 5,213 3 0,3 5,213 4 0,4 8,515 5 0,5 10,732 6 0,6 13,440 7 0,7 16,748 n x y 8 0,8 20,788 9 0,9 25,723 10 1 31,750 Diante do emprego do método de Runge-Kutta para resolução da EDO de 1ª ordem y’ = 2y + 3, sendo y(0) = 3 e considerando h = 0,1, temos que y(1) é igual a 31,750. Apresente o valor de y(1) em face da resolução da EDO de 1ª ordem y’ = x.y, sendo y(0) = 3. Considere h = 0,1 e utilize o método de Runge-Kutta. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = x.y; - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Runge-Kutta, temos o resultado indicado a seguir. Exercício 3 n x y 0 0 3 1 0,1 3,015 2 0,2 3,061 3 0,3 3,138 4 0,4 3,250 5 0,5 3,399 6 0,6 3,592 7 0,7 3,833 8 0,8 4,131 9 0,9 4,498 10 1 4,946 Diante do emprego do método de Runge-Kutta para resolução da EDO de 1ª ordem y’ = x.y, sendo y(0) = 3 e considerando h = 0,1, temos que y(1) é igual a 4,946. Apresente o valor de y(2) em face da resolução da EDO de 1ª ordem y’ = cos(y) + sen(y), sendo y(1) = 3. Considere h = 0,1 e utilize o método de Runge-Kutta. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e Exercício 4 - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = cos(y) + sen(y); - O ponto inicial é 1; - O ponto final é 2; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Runge-Kutta, temos o resultado indicado a seguir. n x y 0 1 3 1 1,1 2,920 2 1,2 2,849 3 1,3 2,786 4 1,4 2,731 5 1,5 2,682 6 1,6 2,640 7 1,7 2,603 8 1,8 2,571 9 1,9 2,542 10 2 2,518 Diante do emprego do método de Runge-Kutta para resolução da EDO de 1ª ordem y’ = cos(y) + sen(y), sendo y(1) = 3 e considerando h = 0,1, temos que y(2) é igual a 2,518. Exercício 5 Apresente o valor de y(2) em face da resolução da EDO de 1ª ordem y’ = 2y + 3, sendo y(1) = 3. Considere h = 0,1 e utilize o método de Runge-Kutta. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = 2y + 3; - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Runge-Kutta, temos o resultado indicado a seguir. n x y 0 0 3 1 0,1 3,996 2 0,2 5,213 3 0,3 6,699 4 0,4 8,515 5 0,5 10,732 6 0,6 13,440 7 0,7 16,748 n x y 8 0,8 20,788 9 0,9 25,723 10 1 31,750 Diante do emprego do método de Runge-Kutta para resolução da EDO de 1ª ordem y’ = 2y + 3, sendo y(1) = 3 e considerando h = 0,1, temos que y(2) é igual a 31,750. Apresente o valor de y(2) em face da resolução da EDO de 1ª ordem y’ = x.y, sendo y(1) = 3. Considere h = 0,1 e utilize o método de Runge-Kutta. Para tal, como vimos, a resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é y' = x.y; - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 3. Aplicando os conceitos ensinados neste conteúdo para o método de Runge-Kutta, temos o resultado indicado a seguir. Exercício 6 n x y 0 0 3 1 0,1 3,666 2 0,2 3,666 3 0,3 4,236 4 0,4 4,848 5 0,5 5,605 6 0,6 6,544 7 0,7 7,718 8 0,8 9,195 9 0,9 11,063 10 1 13,445 Diante do emprego do método de Runge-Kutta para resolução da EDO de 1ª ordem y’ = x.y, sendo y(1) = 3 e considerando h = 0,1, temos que y(2) é igual a 13,445. Agora, trataremos da implementação do método de Runge-Kutta em Python. Mais uma vez, resolveremos o problema de valor inicial dado por para encontrar o valor da função y = f(x) em x = 1. Para tal, consideraremos h = 6. Veja o código a seguir: u′(t) = 2u(t),u(0) = 1 Como indicado ao longo do conteúdo, o resultado (y(1) = 7,387) ilustra como a precisão deste método é muito melhor. Aplicando o método de Runge-Kutta em Python Acompanhe a seguir como modelar o problema matemático e criar os códigos em Python. Vamos lá! Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos? Questão 1 Considere que a queda de tensão V em um circuito elétrico, do ponto de alimentação até a carga, seja expressa por meio de uma EDO de 1ª ordem , sendo y(0) = 3.000 volts. Dado que a distância é medida em quilômetros, assinale a única alternativa que apresenta o valor da tensão a 1 quilômetro do ponto de alimentação. Para tal, utilize o método de Runge-Kutta e o intervalo de aproximação (h) igual a 0,1. V ′ = e−3V − 1000 A 2000 Parabéns! A alternativa A está correta. A resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é V' = e-3V - 1000 - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e- O valor da função no ponto inicial é 3000. Aplicando os conceitos ensinados neste conteúdo para o método de Runge-Kutta, temos: n x y 0 0 3000 1 0,1 2900 B 2200 C 2400 D 2600 E 2800 n x y 2 0,2 2800 3 0,3 2700 4 0,4 2600 5 0,5 2500 6 0,6 2400 7 0,7 2300 8 0,8 2200 9 0,9 2100 10 1 2000 Questão 2 Considere que a temperatura T de um produto em um processo de embalagem varie com o tempo de acordo com uma EDO de 1ª ordem , sendo y(0) = 30 graus Celsius. Dado que o tempo é medido em horas, assinale a única alternativa que apresenta o valor da temperatura do produto após 1 hora da conclusão do processo de embalagem. Para tal, utilize o método de Runge-Kutta e o intervalo de aproximação (h) igual a 0,1. T′ = −1, 2. T A 9,04 B 10,19 C 11,49 D 12,95 Parabéns! A alternativa A está correta. A resolução do problema de valor inicial em equações diferenciais ordinárias de primeira ordem requer que o enunciado forneça alguns elementos importantes, como: - A equação diferencial ordinária de primeira ordem propriamente dita; - O ponto inicial; - O ponto final; - A quantidade de intervalos (ou o tamanho de cada intervalo); e - O valor da função no ponto inicial. Neste exemplo, temos: - A equação diferencial ordinária de primeira ordem propriamente dita é T' = -1,2T - O ponto inicial é 0; - O ponto final é 1; - O tamanho de cada intervalo é 0,1; e - O valor da função no ponto inicial é 30. Aplicando os conceitos ensinados neste conteúdo para o método de Runge-Kutta, temos: n x y 0 0 30 1 0,1 26,61 2 0,2 23,60 3 0,3 20,93 4 0,4 18,56 5 0,5 16,46 6 0,6 14,60 E 14,60 n x y 7 0,7 12,95 8 0,8 11,49 9 0,9 10,88 10 1 9,04 Considerações �nais Neste conteúdo, você aprendeu que é possível empregar modelos matemáticos para resolução de problemas de valor inicial associados a equações diferenciais ordinárias de primeira ordem. Também estudou os principais métodos associados: Euler e Runge- Kutta. O método de Euler é caracterizado pela simplicidade, mas requer uma grande quantidade de passos para que apresente um resultado mais preciso. Por sua vez, o método de Runge-Kutta apresenta melhores resultados a partir do emprego de uma fórmula mais elaborada de aproximação do valor real. Além disso, você também pôde identificar como a implementação desses modelos em ferramentas de suporte computacional é simples. Em particular, apresentamos exemplos de implementação em Python, automatizando procedimentos e permitindo a rápida resolução desses métodos. Por fim, você não só conheceu os métodos, mas também sua implementação em ambiente computacional, de modo a utilizar essa importante ferramenta para a resolução de problemas clássicos e variados em Engenharia. Bons estudos e sucesso! Podcast Para encerrar, ouça um breve resumo sobre o conteúdo que você acabou de aprender. Explore + Há muitos materiais adicionais que podem complementar e ampliar seu conhecimento acerca dos métodos de resolução de equações diferenciais ordinárias de primeira ordem. Recomendamos, entre eles, a seguinte lista: BURIAN, R.; LIMA, A. C. de; HETEM JUNIOR, A. (Coord.). Fundamentos de Informática – cálculo numérico. Rio de Janeiro: LTC, 1997. CLAUDIO, D. M. Cálculo numérico computacional: teoria e prática. São Paulo: Atlas, 1989. FRANCO, N. B. Cálculo numérico. São Paulo: Pearson Prentice-Hall, 2006. RUGGIERO, M. A. G.; LOPES, V. L. R. Cálculo numérico: aspectos teóricos e computacionais. 2. ed. São Paulo: Makron Books, 1998. Referências BURIAN, R.; LIMA, A. C. Cálculo numérico. Rio de Janeiro: LTC, 2007. MOURA, D. F. C. Cálculo numérico. Rio de Janeiro: SESES, 2017. 144 p. UFRGS (colaborativo). Cálculo numérico: um livro colaborativo versão Python. Porto Alegre: UFRGS, 2019. Material para download Clique no botão abaixo para fazer o download do conteúdo completo em formato PDF. Download material O que você achou do conteúdo? Relatar problema javascript:CriaPDF()