Exercícios Resolvidos de Equações Diferenciais Ordinárias (EDO)

Ver Teoria

Enunciado

O modelo do circuito RC mostrado na figura abaixo pode ser encontrado a partir da lei das tensões de Kirchhoff e da conservação da carga:

R C y ˙ + y = v ( t )

Suponha que o valor de R C seja 0,1   s . Utilize um método numérico para encontrar a resposta para o caso em que a tensão externa aplicada v ( t ) = 0 é zero e que a tensão inicial do capacitor seja y 0 = 2   V . Compare os resultados com a solução analítica, que é

y t = 2 e - 10 t

Passo 1

O exercício nos dá uma EDO que modela um cicuito RC e uma condição inicial, e nos pede para encontrar a solução da EDO y = f ( t ) , que representa a tensão do capacitor. O enunciado não nos dá um intervalo de integração, representando o tempo t , mas podemos escolher um intervalo qualquer. Uma EDO, uma condição inicial e um intervalo de integração são as três entradas da função o d e 45 ( ) do MATLAB, que resolve EDOs de primeira ordem usando métodos de Runge-Kutta. Logo, usaremos essa função para encontrar y ( t ) .

Em seguida, ele nos pede para compararmos a solução encontrada com o d e 45 ( ) , isto é, a solução numérica da EDO, à solução analítica. Para isto, geraremos um gráfico com duas curvas: uma representando a solução obtida por o d e 45 ( ) e a outra representando a solução analítica.

Passo 2

Primeiramente, vamos relembrar a função o d e 45 , para vermos o que entraremos no MATLAB. A função o d e 45 possui a sintaxe:

[ t , y ]   =   o d e 45 ( E D O _ f u n , t _ i n t , y 0 )

Ela exige três entradas:

  • E D O _ f u n : uma função representando a EDO de primeira ordem y ' = g ( x , y ) . Neste exercício, E D O _ f u n é a EDO R C y ˙ + y = v ( t ) ;
  • t _ i n t : intervalo de integração, normalmente no formato [ t 0   t f ] : o intervalo começa em t 0 e termina em t f . O enunciado não especificou o intervalo de integração, por isso podemos escolher o intervalo que quisermos. Vamos adotar t 0 = 0 e t f = 2 , logo, t _ i n t = 0 2 ;
  • y 0 : condição inicial de y = f ( t ) em t 0 = 0 . Neste exercício, y 0 = 2 .

A função o d e 45 nos dá duas saídas: um vetor com valores de t (começando em t 0 = 0 e terminando em t f = 2 , correspondendo ao nosso intervalo de integração) e outro com os valores de y (iniciando em y 0 = 2 e terminando no valor de y correspondente a t f ), representando a solução da EDO. Em outras palavras, 𝑜𝑑𝑒45 nos retorna os pontos que representam a função y = f ( t ) para o intervalo de integração t _ i n t . Usaremos os vetores t e y para gerar o gráfico comparando a solução numérica com a solução analítica.

Vamos começar pela função representando a EDO. O primeiro passo é reorganizar os termos a EDO do enunciado, de forma que a derivada fique isolada no lado esquerdo da EDO. Lembrando que v ( t ) = 0 :

y ˙ = - y R C

Agora podemos passar a EDO para o MATLAB. Crie um script novo e digite as linhas de código:

Com estas linhas de código, é criada a função E D O _ c i r c R C , representando a EDO do enunciado. Ela recebe valores de t e y e retorna a derivada d y .

Passo 3

Após criar a função E D O _ c i r c R C , abra um novo script para implementar a função o d e 45 . Lembre de salvá-lo na mesma pasta onde você salvou a função E D O _ c i r c R C . Neste script, digite as linhas de código:

Na primeira linha, entramos com o intervalo de integração t _ i n t = 0 2 .

Na segunda linha, entramos com o valor inicial y 0 = 2 .

Na terceira linha, entramos com a função o d e 45 para encontrar uma solução da EDO. Repare que, no lugar de 𝐸𝐷𝑂_𝑓𝑢𝑛, coloquei um string com o nome da função que representa a EDO: ' E D O _ c i r c R C ' . Não esqueça de pôr o nome entre aspas simples, como no print acima.

A solução da EDO é dada pelos vetores t e y _ n u m , saídas de o d e 45 . Esses vetores representam a solução numérica da EDO, a qual plotamos a partir deles.

Passo 4

O exercício pede para compararmos a solução numérica da EDO com a solução analítica, dada por:

y t = 2 e - 10 t

Vamos compará-las por meio de um gráfico. A primeira coisa a fazer é gerar valores de y da solução analítica para plotar sua curva. Para isto, no mesmo script onde você implementou o d e 45 , digite a linha de código:

Esta linha de código é a função y t = 2 e - 10 t . Ela usa o vetor t gerado pela o d e 45 e calcula a solução analítica para cada elemento de t . Os resultados são armazenados no vetor y _ a n .

Passo 5

Para gerar o gráfico comparando a solução analítica com a numérica, entre os comandos:

Na primeira linha, é usado o p l o t ( ) para gerar as curvas da solução analítica e da solução numérica. O primeiro par t ,   y _ a n plota a solução analítica y _ a n em função de t . O segundo par t , y _ n u m plota a solução numérica y _ n u m em função de t , e pede que a curva gerada seja composta por bolinhas ( ' o ' ).

Na segunda linha, é adicionada uma legenda ao gráfico, para sabermos qual curva é qual. A legenda ‘ A n a l i t i c o ’ corresponde ao primeiro par t ,   y _ a n e a legenda ‘ N u m e r i c o ’ , ao segundo par t , y _ n u m .

Execute o programa e você terá o gráfico que permite comparar as duas soluções.

Resposta