Transformada de Laplace

Ver Todos os Exercícios

Teoria

Introdução

E aí, galera, tudo joia? Não seria legal ter um jeito mais fácil de resolver equações diferenciais? Pois saiba que existe uma forma de converter equações diferenciais em equações algébricas, que em muitos casos vão ser mais fáceis de resolver.

Essa conversão é feita usando a transformada de Laplace, que converte funções como senoides, exponenciais, diferenciais e integrais, normalmente no domínio do tempo t , em funções algébricas no domínio da frequência, em função de uma variável complexa s .

Digamos que você tenha que resolver a seguinte a equação diferencial para encontrar y ( t ) :

a d y d t + y - sin ⁡ t = 0

Para um dado valor inicial y ( 0 ) . Você pode aplicar a transformada de Laplace nela, que dá uma equação algébrica:

a s Y s - a y 0 + Y s - 1 s 2 + 1 = 0

Onde Y ( s ) é a função y ( t ) no domínio s .

Antes, para encontrarmos a função y ( t ) , você teria que usar algum método de solução de equação diferencial, como Runge-Kutta. Com a transformada de Laplace, dá pra isolar Y ( s ) na equação acima:

Y s = 1 a s + 1 1 s 2 + 1 + a y ( 0 )

E aplicar a transformada inversa para voltar à variável t e encontrar y ( t ) . Aqui no Responde Aí, temos uma aula só de transformada de Laplace, caso você queira saber mais como ela funciona.

Usamos muito a transformada de Laplace para programar o controle de sistemas dinâmicos, como um sistema de amortecimento ativo em veículos ou em circuitos elétricos.

O MATLAB tem uma função chamada l a p l a c e ( ) , que determina a transformada de Laplace de uma função, e outra chamada i l a p l a c e ( ) , que determina a tranformada inversa. Na aula de hoje, vamos ver como usar l a p l a c e ( ) e i l a p l a c e ( ) em funções no domínio do tempo f ( t ) ou no domínio da variável s F ( s ) , e como usá-las para resolver equações diferenciais. Partiu?

Transformada de Laplace de uma função f(t)

A função l a p l a c e do MATLAB tem a estrutura:

F = l a p l a c e ( f )

Ela retorna a transformada de Laplace da função f , armazenando-a na variável F .

Digamos que você tenha a função f ( t ) = 2 t e queira encontrar a sua transformada de Laplace usando o MATLAB. Em seu script, defina que t é uma variável simbólica e crie a função f ( t ) = 2 t :

Vamos aplicar l a p l a c e em f   :

Vamos rodar o programa e pedir para o MATLAB mostrar o resultado no Commad Window:

Temos que a transformada de Laplace de f ( t ) = 2 t é F ( s ) = 2 / s ² .

Repare que não precisamos informar que a função de entrada f era em função da variável independente t , nem que queríamos que saída F fosse em função de s . É que, por padrão, o MATLAB considera que f depende de uma variável t e que a variável da transformada F é s . Você pode alterar isso adicionando mais entradas à função l a p l a c e :

F = l a p l a c e ( f , v a r _ i n d e p e n d e n t e , v a r _ l a p l a c e   )

Com este comando, dizemos que a função f tem como variável independente o que pusermos no lugar de v a r _ i n d e p e n d e n t e . A transformada F gerada pelo MATLAB será em função do que pusermos no lugar de v a r _ l a p l a c e .

Por exemplo, digamos que você queira encontrar a transformada de Laplace da função:

f a = e - t a

Sendo que a é a variável independente de f ( a ) .

Além disso, você quer que a transformada de Laplace de f ( a ) seja em função de y . Por isso, você terá que usar a função l a p l a c e no MATLAB como no print abaixo:

Na primeira linha, criamos as variáveis simbólicas a , t e y .

Na segunda linha, criamos a função f a = e - t a .

Na terceira linha, usamos l a p l a c e ( f , a , y ) para encontrar a transformada de Laplace de f . Perceba que no lugar de v a r _ i n d e p e n d e n t e , coloquei a ; e que no lugar de v a r _ l a p l a c e , coloquei y . Isto quer dizer que a saída F será em função de y .

Rodando o programa, temos:

Inversa da transformada de Laplace de uma função F(s)

Digamos que agora você tem uma função no domínio da frequência s e quer encontrá-la no domínio do tempo t . Você pode usar a função do MATLAB i l a p l a c e , que calcula a inversa da transformada de Laplace de uma função. Ela tem o formato:

f = i l a p l a c e ( F )

Ela retorna a inversa da transformada de Laplace da função F , armazenando-a na variável f .

Vamos de exemplo. Temos a função no domínio da frequência:

F ( s ) = 2 s ²

E queremos encontrá-la no domínio do tempo t usando o MATLAB. Para isso, digite em um novo script as linhas de código:

Na primeira linha, definimos a variável simbólica s .

Na segunda linha, entramos com a função F ( s ) = 2 / s ² .

Na terceira linha, aplicamos i l a p l a c e ( F ) para encontrar a inversa da transformada de Laplace de F .

Rodando o programa, temos como resultado:

Temos que a inversa da transformada de Laplace de F ( s ) = 2 / s ² é f ( t ) = 2 t . Reparou que é o mesmo exemplo da seção anterior? =)

Assim como na função l a p l a c e , por padrão, em i l a p l a c e , o MATLAB considera que f depende de uma variável independente t e que a variável da transformada F é s . Você também pode alterar isso adicionando mais entradas à função i l a p l a c e :

f = i l a p l a c e ( F , v a r _ i n d e p e n d e n t e , v a r _ i n v _ l a p )

Com este comando, dizemos que a função F tem como variável independente o que pusermos no lugar de v a r _ i n d e p e n d e n t e . A inversa da transformada de Laplace f gerada pelo MATLAB será em função do que pusermos no lugar de v a r _ i n v _ l a p .

Transformada de Laplace para resolver uma equação diferencial

Vimos como usar l a p l a c e em funções f ( t ) . Agora vamos ver como usamos transformada de Laplace para resolver equações diferenciais. Lembram daquela equação diferencial do começo da aula? Essa aqui:

a d y d t + y - sin ⁡ t = 0

Vamos encontrar uma solução para y ( t ) usando as funções l a p l a c e e i l a p l a c e . Primeiramente, vamos entrar com a equação diferencial em um novo script do MATLAB:

Na primeira linha, definimos as variáveis simbólicas a e y ( t ) (indicamos que y é em função de t ).

Na segunda linha, calculamos a derivada d y d t usando a função d i f f ( y , t ) do MATLAB. Como estamos trabalhando com variáveis simbólicas, d i f f ( y , t ) calcula a derivada de y em relação a t e armazena a resposta em D y . Como a função y não é conhecida, se pedirmos ao MATLAB para nos mostrar D y , ele indicará:

Na terceira linha, criamos uma variável e q n que armazena a equação diferencial.

Vamos aplicar l a p l a c e em e q n para transformar a equação diferencial em uma equação algébrica, armazenada em E :

Vamos ver como ficou? Rode o programa e peça ao MATLAB para imprimir no Command Window a variável E :

Perceba que o MATLAB usa l a p l a c e ( y ( t ) , t , s ) em alguns elementos de E , que tem exatamente a mesma estrutura da função l a p l a c e . Essa expressão representa a transformada de Laplace de y ( t ) e pode ser substituída por Y ( s ) . Logo, o resultado seria assim:

Y s - a y 0 - s Y s - 1 s 2 + 1 = 0

Esse E ficou meio comprido, né? Podemos substituir l a p l a c e ( y ( t ) , t , s ) por Y , representando Y ( s ) , usando o comando s u b s :

Primeiramente, devemos criar mais duas variáveis simbolicas: s e Y . Em seguida, usamos a função s u b s para pedir ao MATLAB que substitua em E a expressão l a p l a c e ( y ( t ) , t , s ) por Y . O resultado da substituição é armazenado em E , ficando no lugar aquela expressão comprida que vimos.

Após a substituição, E fica assim:

Para encontrar y ( t ) , precisamos encontrar Y ( s ) para daí aplicar nela a inversa da tranformada de Laplace. Em E , a variável Y representa Y ( s ) e podemos usar a função s o l v e do MATLAB para encontrá-la. Adicione em seu código:

Com este comando, a função s o l v e resolve a equação E para a variável Y e armazena a solução em L . Na prática, isolamos Y na equação com este comando e L representa Y ( s ) . Rodando o programa, temos que L é igual a:

Isto quer dizer que:

L = Y s = a y 0 + 1 s 2 + 1 a s + 1 = 1 a s + 1 1 s 2 + 1 + a y ( 0 )

Para encontrar y ( t ) , aplicamos a inversa da transformada de Laplace em Y ( s ) , isto é, usamos i l a p l a c e em L :

O resultado é armazenado em I . Na prática, I = y ( t ) , logo, quando rodarmos o programa, encontraremos y ( t ) .

Temos que I é igual a:

A expressão acima corresponde a y ( t ) , logo, encontramos a solução da equação diferencial.

E aí? Curtiu a aula de hoje? Além de aprendermos a usar l a p l a c e e i l a p l a c e , vimos de quebra outras funçõesinhas do MATLAB, como s u b s e s o l v e . Agora bora fazer os exercícios para fixar bem o conteúdo ;D

Transformada de Laplace de uma função f(t)

Inversa da transformada de Laplace de uma função F(s)

Transformada de Laplace para resolver uma equação diferencial

Exercícios Resolvidos

Exercício Resolvido #1

Usando o MATLAB, calcule a transformada de Laplace de f ( t ) = c o s ( w t ) .

Passo 1

O exercício pede para encontrarmos a transformada de Laplace da função f ( t ) = c o s ( w t ) usando o MATLAB. Logo, usaremos a função l a p l a c e ( ) neste exercício.

Como o enunciado não especificou nada, consideraremos que a variável independente de f ( t ) é t e que a transformada de Laplace da função será em função de s , que é o padrão adotado pelo MATLAB. Em outras palavras, a transformada de Laplace de f ( t ) será representada por F ( s ) .

Passo 2

Antes de partirmos para o MATLAB, vamos relembrar como é a função l a p l a c e . A função l a p l a c e do MATLAB tem a estrutura:

F = l a p l a c e ( f )

Ela retorna a transformada de Laplace da função f , armazenando-a na variável F . Como não tem mais nenhuma entrada em l a p l a c e além de f , o MATLAB assumirá que a variável independente de f é t e fará que a transformada de Laplace F seja em função de s .

Em um novo script do MATLAB, entre com a função f ( t ) = c o s ( w t ) :

Na primeira, definimos duas variáveis simbólicas: w e t .

Na segunda linha, entramos com a função f ( t ) = c o s ( w t ) , que é armazenada na variável f .

Passo 3

Após ter entrado com f ( t ) , vamos usar l a p l a c e para encontrar a transformada de Laplace de f :

A transformada de Laplace de f é armazenada na variável F .

Rode o programa para ver como fica F :

Resposta

A transformada de Laplace de f ( t ) = c o s ( w t ) é:

F ( s ) = s s 2 + w ²

Exercício Resolvido #2

Usando o MATLAB, calcule a transformada de Laplace de:

  1. Degrau unitário u ( t ) ;
  2. Impulso unitário δ ( t ) .

Passo 1

O exercício pede para encontrarmos a transformada de Laplace, usando o MATLAB, de duas funções muito utilizadas na área de controle: a função degrau unitário e a função impulso unitário.

Para criarmos a função degrau unitário no MATLAB, usaremos a função h e a v i s i d e ( ) . Já para a função impulso, usaremos a função d i r a c ( ) . Essa deve ser a primeira vez que você vê essas funções, mas não se preocupe, vamos ver direitinho como elas funcionam. Ao final, usaremos a função l a p l a c e ( ) para encontrar as transformadas de u ( t ) e δ ( t ) .

Como o enunciado não especificou nada, consideraremos que a variável independente de u ( t ) e δ ( t ) é t e que a transformada de Laplace delas será em função de s , que é o padrão adotado pelo MATLAB. Em outras palavras, a transformada de Laplace de u ( t ) e δ ( t ) será representada por U ( s ) e D ( s ) , respectivamente.

Passo 2

Vamos começar pela letra a. Para criarmos o degrau unitário u ( t ) no MATLAB, usaremos a função h e a v i s i d e , que tem a estrutura:

u = h e a v i s i d e ( t )

Ela cria um degrau unitário e o armazena em u : quando t   <   0 , u = 0 . Se t = 0 , u = 1 / 2 . Finalmente, para t >   0 , u = 1 .

Em um script novo, digite as duas linhas de código:

Na primeira linha, criamos a variável simbólica t .

Na segunda linha, usamos a função h e a v i s i d e para criar o degrau unitário, que é armazenado em u . Como t é uma variável simbólica, se você rodar o programa e pedir pra ver u , o MATLAB vai te retornar isso:

Como não foi definido se t é maior, menor ou igual a 0 , o MATLAB vai armazenar em u a função h e a v i s i d e ( t ) mesmo.

Passo 3

Após criar o degrau unitário, podemos achar sua transformada de Laplace usando o comando l a p l a c e , que tem a estrutura:

F = l a p l a c e ( f )

Ela retorna a transformada de Laplace da função f , armazenando-a na variável F . Como não tem mais nenhuma entrada em l a p l a c e além de f , o MATLAB assumirá que a variável independente de f é t e fará que a transformada de Laplace F seja em função de s .

Adicione ao seu script o comando:

Ele vai calcular a transformada de Laplace de u e vai armazenar o resultado em U .

Vamos ver a carinha de U ? Rode o programa e você terá:

Pronto! Letra a concluída.

Passo 4

Vamos fazer a letra b. Para criarmos o impulso unitário δ ( t ) no MATLAB, usaremos a função d i r a c , que tem a estrutura:

d = d i r a c ( t )

No MATLAB, d i r a c calcula o delta de Dirac de t , que basicamente diz que pra qualquer valor t ≠ 0 , d = 0 . Já para t = 0 , d = ∞ . Logo, isso representa matematicamente um sinal de impulso.

Em um novo script do MATLAB, digite as duas linhas de código:

Na primeira linha, criamos a variável simbólica t .

Na segunda linha, usamos a função d i r a c para criar o impulso unitário, que é armazenado em d . Como t é uma variável simbólica, se você rodar o programa e pedir pra ver d , o MATLAB vai te retornar isso:

Como não foi definido se t é igual ou diferente a 0 , o MATLAB vai armazenar em d a função d i r a c ( t ) mesmo.

Passo 5

Após criar a função impulso d , vamos usar l a p l a c e para encontrar a transformada de Laplace de d , adicionando no código o comando:

A transformada de Laplace de d é armazenda na variável D .

Ao rodarmos o programa, vemos que a transformada de Laplace do impulso unitário é:

Resposta

  1. A transformada de Laplace de u ( t ) é
  2. U s = 1 s

  3. A transformada de Laplace de δ ( t ) é

D s = 1

Exercício Resolvido #3

Usando o MATLAB, calcule a inversa da transformada de Laplace de

F s = 1 s + a 2

Passo 1

O exercício pede para encontrarmos a inversa da transformada de Laplace F ( s ) = 1 / s + a 2 usando o MATLAB. Logo, usaremos a função i l a p l a c e ( ) neste exercício.

Como o enunciado não especificou nada, consideraremos que a variável independente de F ( s ) é s e que a sua inversa será em função de t , que é o padrão adotado pelo MATLAB. Em outras palavras, a inversa da transformada de Laplace F ( s ) será representada por   f ( t ) .

Passo 2

Antes de partirmos para o MATLAB, vamos relembrar como é a função i l a p l a c e . A função i l a p l a c e do MATLAB tem a estrutura:

f = i l a p l a c e ( F )

Ela retorna a inversa da transformada de Laplace de F , armazenando-a na variável f . Como não tem mais nenhuma entrada em i l a p l a c e além de F , o MATLAB assumirá que a variável independente de F é s e fará que a inversa da transformada de Laplace f seja em função de t .

Em um novo script do MATLAB, entre com a função F ( s ) dada no enunciado:

Na primeira linha, criamos duas variáveis simbólicas: s e a .

Na segunda linha, entramos com a função F ( s ) dada pelo enunciado, armazenando-a na variável F .

Passo 3

Após ter entrado com F ( s ) , vamos usar i l a p l a c e para encontrar a inversa da transformada de Laplace de F :

A inversa da transformada de Laplace de F é armazenada na variável f .

Rode o programa para ver qual é a cara de f :

Resposta

A inversa da transformada de Laplace F ( s ) = 1 / s + a 2 é f t = t e - a t .

Exercício Resolvido #4

Usando as funções l a p l a c e e i l a p l a c e do MATLAB, encontre y ( t ) resolvendo a equação diferencial abaixo:

d ² y d t ² + 2 ξ d y d t + y = u ( t )

Onde u ( t ) é a função degrau unitário. Considere y ( 0 ) = 0 e d y ( 0 ) / d t = 0 .

Passo 1

O exercício pede para encontrarmos a solução y ( t ) de uma equação diferencial de segunda ordem, usando transformada de Laplace. Primeiramente, aplicaremos a função l a p l a c e do MATLAB na equação diferencial para encontrarmos a transformade de y ( t ) . Como o enunciado não especificou nada, consideraremos que a variável independente das transformadas de Laplace é s , que é o padrão do MATLAB. Logo, a transformada de Laplace de y ( t ) será Y ( s ) .

Após encontrarmos Y ( s ) , vamos aplicar i l a p l a c e para encontrar a inversa da transformada, isto é, y ( t ) , que é a solução da equação diferencial.

Passo 2

Vamos começar entrando com a equação diferencial no MATLAB, termo a termo. Em um script novo, digite as linhas de código:

Na primeira linha, criamos duas variáveis simbólicas: c s i (representando a letra grega ξ ) e y ( t ) (indicamos que y é em função de t ).

Na segunda linha, calculamos a derivada d y d t usando a função d i f f ( y , t ) do MATLAB. Como estamos trabalhando com variáveis simbólicas, d i f f ( y , t ) calcula a derivada de y em relação a t e armazena a resposta em D y . Como a função y não é conhecida, se pedirmos ao MATLAB para nos mostrar D y , ele indicará:

Na terceira linha, calculamos a derivada d ² y d t ² , pedindo ao MATLAB para calcular a derivada de D y em função de t ( d i f f ( D y , t ) ).

Na quarta linha, criamos um degrau unitário u em função de t usando a função h e a v i s i d e ( t ) .

Tendo definido os termos da equação, vamos criá-la e armazená-la na variável e q n :

Perceba que joguei o degrau unitário u para o lado esquerdo da equação, e deixei tudo igual a 0 .

Passo 3

Com a equação diferencial no MATLAB, podemos usar a função l a p l a c e para calcular a transformada de Laplace dela. Lembrando que l a p l a c e tem como estrutura:

F = l a p l a c e ( f )

Ela retorna a transformada de Laplace da função f , armazenando-a na variável F