Transformada de Laplace
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 , em funções algébricas no domínio da frequência, em função de uma variável complexa .
Digamos que você tenha que resolver a seguinte a equação diferencial para encontrar :
Para um dado valor inicial . Você pode aplicar a transformada de Laplace nela, que dá uma equação algébrica:
Onde é a função no domínio .
Antes, para encontrarmos a função , 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 na equação acima:
E aplicar a transformada inversa para voltar à variável e encontrar . 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 , que determina a transformada de Laplace de uma função, e outra chamada , que determina a tranformada inversa. Na aula de hoje, vamos ver como usar e em funções no domínio do tempo ou no domínio da variável , e como usá-las para resolver equações diferenciais. Partiu?
Transformada de Laplace de uma função f(t)
A função do MATLAB tem a estrutura:
Ela retorna a transformada de Laplace da função , armazenando-a na variável .
Digamos que você tenha a função e queira encontrar a sua transformada de Laplace usando o MATLAB. Em seu script, defina que é uma variável simbólica e crie a função :
Vamos aplicar em :
Vamos rodar o programa e pedir para o MATLAB mostrar o resultado no Commad Window:
Temos que a transformada de Laplace de é .
Repare que não precisamos informar que a função de entrada era em função da variável independente , nem que queríamos que saída fosse em função de . É que, por padrão, o MATLAB considera que depende de uma variável e que a variável da transformada é . Você pode alterar isso adicionando mais entradas à função :
Com este comando, dizemos que a função tem como variável independente o que pusermos no lugar de . A transformada gerada pelo MATLAB será em função do que pusermos no lugar de .
Por exemplo, digamos que você queira encontrar a transformada de Laplace da função:
Sendo que é a variável independente de .
Além disso, você quer que a transformada de Laplace de seja em função de . Por isso, você terá que usar a função no MATLAB como no print abaixo:
Na primeira linha, criamos as variáveis simbólicas , e .
Na segunda linha, criamos a função .
Na terceira linha, usamos para encontrar a transformada de Laplace de . Perceba que no lugar de , coloquei ; e que no lugar de , coloquei . Isto quer dizer que a saída será em função de .
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 e quer encontrá-la no domínio do tempo . Você pode usar a função do MATLAB , que calcula a inversa da transformada de Laplace de uma função. Ela tem o formato:
Ela retorna a inversa da transformada de Laplace da função , armazenando-a na variável .
Vamos de exemplo. Temos a função no domínio da frequência:
E queremos encontrá-la no domínio do tempo usando o MATLAB. Para isso, digite em um novo script as linhas de código:
Na primeira linha, definimos a variável simbólica .
Na segunda linha, entramos com a função .
Na terceira linha, aplicamos para encontrar a inversa da transformada de Laplace de .
Rodando o programa, temos como resultado:
Temos que a inversa da transformada de Laplace de é . Reparou que é o mesmo exemplo da seção anterior? =)
Assim como na função , por padrão, em , o MATLAB considera que depende de uma variável independente e que a variável da transformada é . Você também pode alterar isso adicionando mais entradas à função :
Com este comando, dizemos que a função tem como variável independente o que pusermos no lugar de . A inversa da transformada de Laplace gerada pelo MATLAB será em função do que pusermos no lugar de .
Transformada de Laplace para resolver uma equação diferencial
Vimos como usar em funções . 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:
Vamos encontrar uma solução para usando as funções e . Primeiramente, vamos entrar com a equação diferencial em um novo script do MATLAB:
Na primeira linha, definimos as variáveis simbólicas e (indicamos que é em função de ).
Na segunda linha, calculamos a derivada usando a função do MATLAB. Como estamos trabalhando com variáveis simbólicas, calcula a derivada de em relação a e armazena a resposta em . Como a função não é conhecida, se pedirmos ao MATLAB para nos mostrar , ele indicará:
Na terceira linha, criamos uma variável que armazena a equação diferencial.
Vamos aplicar em para transformar a equação diferencial em uma equação algébrica, armazenada em :
Vamos ver como ficou? Rode o programa e peça ao MATLAB para imprimir no Command Window a variável :
Perceba que o MATLAB usa em alguns elementos de , que tem exatamente a mesma estrutura da função . Essa expressão representa a transformada de Laplace de e pode ser substituída por . Logo, o resultado seria assim:
Esse ficou meio comprido, né? Podemos substituir por , representando , usando o comando :
Primeiramente, devemos criar mais duas variáveis simbolicas: e . Em seguida, usamos a função para pedir ao MATLAB que substitua em a expressão por . O resultado da substituição é armazenado em , ficando no lugar aquela expressão comprida que vimos.
Após a substituição, fica assim:
Para encontrar , precisamos encontrar para daí aplicar nela a inversa da tranformada de Laplace. Em , a variável representa e podemos usar a função do MATLAB para encontrá-la. Adicione em seu código:
Com este comando, a função resolve a equação para a variável e armazena a solução em . Na prática, isolamos na equação com este comando e representa . Rodando o programa, temos que é igual a:
Isto quer dizer que:
Para encontrar , aplicamos a inversa da transformada de Laplace em , isto é, usamos em :
O resultado é armazenado em . Na prática, , logo, quando rodarmos o programa, encontraremos .
Temos que é igual a:
A expressão acima corresponde a , logo, encontramos a solução da equação diferencial.
E aí? Curtiu a aula de hoje? Além de aprendermos a usar e , vimos de quebra outras funçõesinhas do MATLAB, como 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
“USP – Departamento de Engenharia Elétrica e Computação – 2016 Brazil Study Abroad Program – Texas A&M University – University of São Paulo”
Usando o MATLAB, calcule a transformada de Laplace de .
Passo 1
O exercício pede para encontrarmos a transformada de Laplace da função usando o MATLAB. Logo, usaremos a função neste exercício.
Como o enunciado não especificou nada, consideraremos que a variável independente de é e que a transformada de Laplace da função será em função de , que é o padrão adotado pelo MATLAB. Em outras palavras, a transformada de Laplace de será representada por .
Passo 2
Antes de partirmos para o MATLAB, vamos relembrar como é a função A função do MATLAB tem a estrutura:
Ela retorna a transformada de Laplace da função , armazenando-a na variável . Como não tem mais nenhuma entrada em além de , o MATLAB assumirá que a variável independente de é e fará que a transformada de Laplace seja em função de .
Em um novo script do MATLAB, entre com a função :
Na primeira, definimos duas variáveis simbólicas: e .
Na segunda linha, entramos com a função , que é armazenada na variável .
Passo 3
Após ter entrado com , vamos usar para encontrar a transformada de Laplace de :
A transformada de Laplace de é armazenada na variável .
Rode o programa para ver como fica :
Resposta
A transformada de Laplace de é:
Exercício Resolvido #2
“USP – Departamento de Engenharia Elétrica e Computação – 2016 Brazil Study Abroad Program – Texas A&M University – University of São Paulo”
Usando o MATLAB, calcule a transformada de Laplace de:
- Degrau unitário ;
- Impulso unitário .
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 . Já para a função impulso, usaremos a função . 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 para encontrar as transformadas de e .
Como o enunciado não especificou nada, consideraremos que a variável independente de e é e que a transformada de Laplace delas será em função de , que é o padrão adotado pelo MATLAB. Em outras palavras, a transformada de Laplace de e será representada por e , respectivamente.
Passo 2
Vamos começar pela letra a. Para criarmos o degrau unitário no MATLAB, usaremos a função , que tem a estrutura:
Ela cria um degrau unitário e o armazena em : quando , . Se , . Finalmente, para , .
Em um script novo, digite as duas linhas de código:
Na primeira linha, criamos a variável simbólica .
Na segunda linha, usamos a função para criar o degrau unitário, que é armazenado em . Como é uma variável simbólica, se você rodar o programa e pedir pra ver , o MATLAB vai te retornar isso:
Como não foi definido se é maior, menor ou igual a , o MATLAB vai armazenar em a função mesmo.
Passo 3
Após criar o degrau unitário, podemos achar sua transformada de Laplace usando o comando , que tem a estrutura:
Ela retorna a transformada de Laplace da função , armazenando-a na variável . Como não tem mais nenhuma entrada em além de , o MATLAB assumirá que a variável independente de é e fará que a transformada de Laplace seja em função de .
Adicione ao seu script o comando:
Ele vai calcular a transformada de Laplace de e vai armazenar o resultado em .
Vamos ver a carinha de ? Rode o programa e você terá:
Pronto! Letra a concluída.
Passo 4
Vamos fazer a letra b. Para criarmos o impulso unitário no MATLAB, usaremos a função , que tem a estrutura:
No MATLAB, calcula o delta de Dirac de , que basicamente diz que pra qualquer valor , . Já para , . 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 .
Na segunda linha, usamos a função para criar o impulso unitário, que é armazenado em . Como é uma variável simbólica, se você rodar o programa e pedir pra ver , o MATLAB vai te retornar isso:
Como não foi definido se é igual ou diferente a , o MATLAB vai armazenar em a função mesmo.
Passo 5
Após criar a função impulso , vamos usar para encontrar a transformada de Laplace de , adicionando no código o comando:
A transformada de Laplace de é armazenda na variável .
Ao rodarmos o programa, vemos que a transformada de Laplace do impulso unitário é:
Resposta
- A transformada de Laplace de é
- A transformada de Laplace de é
Exercício Resolvido #3
“USP – Departamento de Engenharia Elétrica e Computação – 2016 Brazil Study Abroad Program – Texas A&M University – University of São Paulo”
Usando o MATLAB, calcule a inversa da transformada de Laplace de
Passo 1
O exercício pede para encontrarmos a inversa da transformada de Laplace usando o MATLAB. Logo, usaremos a função neste exercício.
Como o enunciado não especificou nada, consideraremos que a variável independente de é e que a sua inversa será em função de , que é o padrão adotado pelo MATLAB. Em outras palavras, a inversa da transformada de Laplace será representada por.
Passo 2
Antes de partirmos para o MATLAB, vamos relembrar como é a função A função do MATLAB tem a estrutura:
Ela retorna a inversa da transformada de Laplace de , armazenando-a na variável . Como não tem mais nenhuma entrada em além de , o MATLAB assumirá que a variável independente de é e fará que a inversa da transformada de Laplace seja em função de .
Em um novo script do MATLAB, entre com a função dada no enunciado:
Na primeira linha, criamos duas variáveis simbólicas: e .
Na segunda linha, entramos com a função dada pelo enunciado, armazenando-a na variável .
Passo 3
Após ter entrado com , vamos usar para encontrar a inversa da transformada de Laplace de :
A inversa da transformada de Laplace de é armazenada na variável .
Rode o programa para ver qual é a cara de :
Resposta
A inversa da transformada de Laplace é .
Exercício Resolvido #4
“Elaboração Própria”
Usando as funções e do MATLAB, encontre resolvendo a equação diferencial abaixo:
Onde é a função degrau unitário. Considere e .
Passo 1
O exercício pede para encontrarmos a solução de uma equação diferencial de segunda ordem, usando transformada de Laplace. Primeiramente, aplicaremos a função do MATLAB na equação diferencial para encontrarmos a transformade de . Como o enunciado não especificou nada, consideraremos que a variável independente das transformadas de Laplace é , que é o padrão do MATLAB. Logo, a transformada de Laplace de será .
Após encontrarmos , vamos aplicar para encontrar a inversa da transformada, isto é, , 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: (representando a letra grega ) e (indicamos que é em função de ).
Na segunda linha, calculamos a derivada usando a função do MATLAB. Como estamos trabalhando com variáveis simbólicas, calcula a derivada de em relação a e armazena a resposta em . Como a função não é conhecida, se pedirmos ao MATLAB para nos mostrar , ele indicará:
Na terceira linha, calculamos a derivada , pedindo ao MATLAB para calcular a derivada de em função de ().
Na quarta linha, criamos um degrau unitário em função de usando a função .
Tendo definido os termos da equação, vamos criá-la e armazená-la na variável :
Perceba que joguei o degrau unitário para o lado esquerdo da equação, e deixei tudo igual a .
Passo 3
Com a equação diferencial no MATLAB, podemos usar a função para calcular a transformada de Laplace dela. Lembrando que tem como estrutura:
Ela retorna a transformada de Laplace da função , armazenando-a na variável . Quando não tem mais nenhuma entrada em além de , o MATLAB assume que a variável independente de é e fará que a transformada de Laplace seja em função de .
Acrescente em seu programa o comando abaixo para calcular a transformada de Laplace de :
O resultado é armazenado em .
Vamos ver como ficou ? Rodando o programa que fizemos até agora, temos:
Nossa, ficou bem grandinho, né? Pra caber na página, tive que deixar a letra beeeem pequeninha.
Vamos resolver isso fazendo umas substituições. Perceba que o MATLAB usa em alguns elementos de , que tem exatamente a mesma estrutura da função . Essa expressão representa a transformada de Laplace de e pode ser substituída por . No caso, chamaremos só de .
Adicione os comandos abaixo em seu programa para fazer a substituição:
Primeiramente, devemos criar mais duas variáveis simbolicas: e . Em seguida, usamos a função para pedir ao MATLAB que substitua em a expressão por . O resultado da substituição é armazenado em , ficando no lugar aquela expressão comprida que vimos.
Após a susbtituição, fica assim:
Note que tem mais coisa pra substituir aí. O enunciado disse para considerarmos e . O é fácil de achar ali em cima, mas e o ? Ele é representado por .
Para fazer as substituições, adicione ao seu programa as duas linhas de código:
Na primeira linha, substituímos por em e armazenamos a nova expressão em , no lugar daquele mais comprido.
Na segunda linha, substituímos por , isto é, fazemos que , no gerado na linha anterior. A nova expressão é armazenada em , no lugar da anterior.
Executando o programa, podemos ver como está agora:
Bem mais enxuta, né?
Passo 4
Para encontrar , precisamos encontrar para daí aplicar nela , para termos a inversa da tranformada de Laplace. Em , a variável representa e podemos usar a função do MATLAB para encontrá-la. Adicione em seu código:
Com este comando, a função resolve a equação para a variável e armazena a solução em , atualizando seu valor. Na prática, isolamos na equação com este comando e passa a representar a expressão algébrica de . Rodando o programa, temos que é igual a:
Quer dizer que:
Para encontrarmos , devemos aplicar a inversa da transformada de Laplace em , isto é, usar a função do MATLAB em . A função tem a estrutura:
Ela retorna a inversa da transformada de Laplace de , armazenando-a na variável . Quando não tem mais nenhuma entrada em além de , o MATLAB assume que a variável independente de é e fará que a inversa da transformada de Laplace seja em função de .
Para encontrar , entre o comando:
Com este comando, o MATLAB calcula a inversa da transformada de Laplace de e armazena o resultado em , atualizando seu valor. é a solução da equação diferencial.
Rodando o programa, temos que é igual a:
Resposta
Exercício Resolvido #5
“Adaptado de MATLAB® for Engineering Applications, de William J. Palm III, McGraw-Hill Education, 4ª edição, 2019. Exemplo T11.5-2, p. 493”
Use a transformada de Laplace para resolver o problema:
Onde é a função degrau unitário e , .
Passo 1
O exercício pede para encontrarmos a solução de uma equação diferencial de segunda ordem, usando transformada de Laplace. Primeiramente, aplicaremos a função do MATLAB na equação diferencial para encontrarmos a transformada de .
Consideraremos que é em função de , pois a função degrau dada no enunciado é apresentada como .
Como o enunciado não especificou nada, consideraremos que a variável independente das transformadas de Laplace é , que é o padrão do MATLAB. Logo, a transformada de Laplace de será .
Após encontrarmos , vamos aplicar para encontrar a inversa da transformada, isto é, , 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 a variável simbólicas , indicamos que é em função de .
Na segunda linha, calculamos a derivada usando a função do MATLAB. Como estamos trabalhando com variáveis simbólicas, calcula a derivada de em relação a e armazena a resposta em . Como a função não é conhecida, se pedirmos ao MATLAB para nos mostrar , ele indicará:
Na terceira linha, calculamos a derivada , pedindo ao MATLAB para calcular a derivada de em função de ().
Na quarta linha, criamos um degrau unitário em função de usando a função .
Na quinta linha, calculamos a primeira derivada do degrau unitário usando . A derivada é armazenada em .
Tendo definido os termos da equação, vamos criá-la e armazená-la na variável :
Perceba que joguei os termos e para o lado esquerdo da equação e fiz que tudo é igual a .
Passo 3
Com a equação diferencial no MATLAB, podemos usar a função para calcular a transformada de Laplace dela. Lembrando que tem como estrutura:
Ela retorna a transformada de Laplace da função , armazenando-a na variável . Quando não tem mais nenhuma entrada em além de , o MATLAB assume que a variável independente de é e fará que a transformada de Laplace seja em função de .
Acrescente em seu programa o comando abaixo para calcular a transformada de Laplace de :
O resultado é armazenado em .
Vamos ver como ficou ? Rodando o programa que fizemos até agora, temos:
Nossa, ficou bem grandinho, né? Pra caber na página, tive que deixar a letra beeeem pequeninha.
Vamos resolver isso fazendo umas substituições. Perceba que o MATLAB usa em alguns elementos de , que tem exatamente a mesma estrutura da função . Essa expressão representa a transformada de Laplace de e pode ser substituída por . No caso, chamaremos só de .
Adicione os comandos abaixo em seu programa para fazer a substituição:
Primeiramente, devemos criar mais duas variáveis simbolicas: e . Em seguida, usamos a função para pedir ao MATLAB que substitua em a expressão por . O resultado da substituição é armazenado em , ficando no lugar aquela expressão comprida que vimos.
Após a susbtituição, fica assim:
Ainda tem mais coisa pra substituir aí. O enunciado disse para considerarmos e . O é fácil de achar ali em cima, mas e o ? Ele é representado por .
Para fazer as substituições, adicione ao seu programa as duas linhas de código:
Na primeira linha, substituímos por em e armazenamos a nova expressão novamente em , no lugar daquele mais comprido.
Na segunda linha, substituímos por , isto é, fazemos que , no gerado na linha anterior. A nova expressão é armazenada em , no lugar da anterior.
Executando o programa, podemos ver como está agora:
Bem mais bonitinha, né?
Passo 4
Para encontrar , precisamos encontrar para daí aplicar nela , para termos a inversa da tranformada de Laplace. Em , a variável representa e podemos usar a função do MATLAB para encontrá-la. Adicione em seu código:
Com este comando, a função resolve a equação para a variável e armazena a solução em , atualizando seu valor. Na prática, isolamos na equação com este comando e passa a representar a expressão algébrica de . Rodando o programa, temos que é igual a:
Quer dizer que:
Para encontrarmos , demos aplicar a inversa da transformada de Laplace em , isto é, usar a função do MATLAB em . A função tem a estrutura:
Ela retorna a inversa da transformada de Laplace de , armazenando-a na variável . Quando não tem mais nenhuma entrada em além de , o MATLAB assume que a variável independente de é e fará que a inversa da transformada de Laplace seja em função de .
Para encontrar , entre o comando:
Com este comando, o MATLAB calcula a inversa da transformada de Laplace de e armazena o resultado em , atualizando seu valor. é a solução da equação diferencial.
Rodando o programa, temos que é igual a:
Podemos transformar as frações, como , em números decimais, usando o comando do MATLAB. Este elemento avalia cada elemento de uma expressão simbólica e identifica as frações com números reais, e as transforma em números “quebrados”.
Acrescente no seu código o comando:
Este comando aplica a função em e armazena o resultado em , substituindo a expressão anterior. Ao rodar programa, podemos ver com seus coeficientes transformados em números decimais:
Resposta
Exercício Resolvido #6
“Adaptado de MATLAB® for Engineering Applications, de William J. Palm III, McGraw-Hill Education, 4ª edição, 2019. Exercício 45, p. 558”
A equação diferencial que modela o torque de um motor exigido para um certo sistema de controle de velocidade é
Onde é a velocidade desejada e é uma constante chamada “ganho”.
Use o método da transformada de Laplace para encontrar a resposta ao degrau unitário (isto é, é uma função degrau unitário). Use condições iniciais nulas.
Passo 1
O exercício pede para encontrarmos a resposta do torque a igual a um degrau unitário, usando a transformada de Laplace. Em outras palavras, vamos encontrar a solução da equação diferencial de segunda ordem dada pelo enunciado. Primeiramente, aplicaremos a função do MATLAB na equação diferencial para encontrarmos a transformada de .
Como o enunciado não especificou nada, consideraremos que a variável independente das transformadas de Laplace é , que é o padrão do MATLAB. Logo, a transformada de Laplace de será .
Após encontrarmos , vamos aplicar para encontrar a inversa da transformada, isto é, , 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 as variáveis simbólicas e , indicando que é em função de .
Na segunda linha, calculamos a derivada usando a função do MATLAB. Como estamos trabalhando com variáveis simbólicas, apenas representa a derivada de em relação a e é armazenado em .
Na terceira linha, calculamos a derivada , pedindo ao MATLAB para calcular a derivada de em função de ().
Na quarta linha, criamos um degrau unitário em função de usando a função , representando a velocidade desejada do motor.
Na quinta linha, definimos a primeira derivada do degrau unitário usando . A derivada é armazenada em .
Tendo definido os termos da equação, vamos criá-la e armazená-la na variável :
Note que joguei todos os termos da equação diferencial para a esquerda, e que fiz tudo igual a .
Passo 3
Com a equação diferencial no MATLAB, podemos usar a função para calcular a transformada de Laplace dela. Lembrando que tem como estrutura:
Ela retorna a transformada de Laplace da função , armazenando-a na variável .
Acrescente em seu programa o comando abaixo para calcular a transformada de Laplace de :
O resultado é armazenado em . Vamos ver como ele ficou? Rode o programa que fizemos até agora e imprima no Command Window:
Ficou um expressão bem comprida, tá até difícil de ler.
Vamos resolver isso fazendo umas substituições. Perceba que o MATLAB usa em alguns elementos de , que tem exatamente a mesma estrutura da função . Essa expressão representa a transformada de Laplace de e pode ser substituída por . No caso, chamaremos só de .
Adicione os comandos abaixo em seu programa para fazer a substituição:
Primeiramente, devemos criar mais duas variáveis simbolicas: e . Em seguida, usamos a função para pedir ao MATLAB que substitua em a expressão por . O resultado da substituição é armazenado em , substituindo a expressão anterior. Após a susbtituição, fica assim:
Melhorou bastante, né? Agora vamos substituir as condições iniciais em . O enunciado disse que elas são nulas, logo, . Na expressão acima, é fácil de identificar quem é . Já é representado por .
Para fazer as substituições, adicione ao seu programa a linha de código:
Com este comando, substituímos em e por e armazenamos a nova expressão em , no lugar da antiga. Note que usei aspas simples em . Elas servem para indicar que é uma expressão só. Se você tentar rodar o programa sem elas, o MATLAB acusará erro de sintaxe.
Vamos ver a nova cara de :
Passo 4
Agora podemos encontrar . Para isto, precisamos encontrar para daí aplicar nele , para termos a inversa da tranformada de Laplace. Em , a variável representa e podemos usar a função do MATLAB para encontrá-la. Adicione em seu código:
Com este comando, a função resolve a equação para a variável e armazena a solução em , atualizando seu valor. Na prática, isolamos na equação com este comando e passa a representar a expressão algébrica de . Rodando o programa, temos que é igual a:
Passo 5
Para encontrarmos , devemos aplicar a inversa da transformada de Laplace em , isto é, usar a função do MATLAB em . A função tem a estrutura:
Ela retorna a inversa da transformada de Laplace de , armazenando-a na variável .
Para encontrar , entre o comando:
Com este comando, o MATLAB calcula a inversa da transformada de Laplace de e armazena o resultado em , atualizando seu valor. é a solução da equação diferencial, representadno a resposta do sistema ao degrau unitário. Rodando o programa, temos que é igual a:
Resposta
A resposta ao degrau unitário é:
Exercício Resolvido #7
“Adaptado de MATLAB® for Engineering Applications, de William J. Palm III, McGraw-Hill Education, 4ª edição, 2019. Exercício 42, p. 556”
O circuito RLC abaixo pode ser usado como um filtro de banda estreita. Se a tensão de entrada consiste na soma de tensões de variação sinusoidal com diferentes frequências, o filtro de banda estreita permitirá passar somente tensões cujas frequências estão dentro de uma faixa estreita. Esses filtros são usados em circuitos de sintonia, como os usados em rádios AM, para permitir a recepção apenas do sinal portador da estação de rádio desejada.
O circuito RLC tem a seguinte equação diferencial:
Onde é a tensão de saída.
Use o método da transformada de Laplace para encontrar a resposta ao degrau unitário de para condições iniciais nulas, onde e . Para modelar um filtro de banda larga, use . Já para modelar um filtro de banda estreita, use . Compare a resposta ao degrau dos dois casos.
Passo 1
O exercício pede para encontrarmos a resposta de a igual a um degrau unitário, usando a transformada de Laplace. Em outras palavras, vamos encontrar a solução da equação diferencial de segunda ordem dada pelo enunciado. Primeiramente, aplicaremos a função do MATLAB na equação diferencial para encontrarmos a transformada de . A transformada de Laplace de será indicada por .
Após encontrarmos , vamos aplicar para encontrar a inversa da transformada, isto é, , que é a solução da equação diferencial.
Vamos fazer esse procedimento considerando , e simbólicos, substituindo-os pelos valores dados pelo enunciado somente no final. Para compararmos a resposta ao degrau, substituiremos em os dois valores de e veremos como ficará a expressão simbólica para ambos os casos.
Passo 2
Comece 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 as variáveis simbólicas , , e , indicando que é em função de .
Na segunda linha, calculamos a derivada usando a função do MATLAB. Como estamos trabalhando com variáveis simbólicas, apenas representa a derivada de em relação a e é armazenado em .
Na terceira linha, calculamos a derivada , pedindo ao MATLAB para calcular a derivada de em relação a ().
Na quarta linha, criamos um degrau unitário em função de usando a função , representando a tensão de entrada do circuito.
Na quinta linha, definimos a primeira derivada do degrau unitário usando . A derivada é armazenada em .
Tendo definido os termos da equação, vamos criá-la e armazená-la na variável :
Repare que joguei todos os termos da equação da para a esquerda, para fazer com que ela seja igual a .
Passo 3
Com a equação diferencial no MATLAB, podemos usar a função para calcular a transformada de Laplace dela. Lembrando que tem como estrutura:
Ela retorna a transformada de Laplace da função , armazenando-a na variável .
Acrescente em seu programa o comando abaixo para calcular a transformada de Laplace de :
O resultado é armazenado em . Vamos ver como ele ficou? Rode o programa que fizemos até agora e imprima no Command Window:
Ficou uma expressão bem comprida, tive que deixar a letra minúscula para caber aqui. Mas podemos dar uma enxugada nessa expressão: note que aparecem uns termos em , e eles têm exatamente a mesma estrutura da função . Essa expressão representa a transformada de Laplace de e pode ser substituída por . No caso, chamaremos só de .
Digite os comandos abaixo para fazer a substituição:
Primeiramente, devemos criar mais duas variáveis simbólicas: e . Em seguida, usamos a função para pedir ao MATLAB que substitua em a expressão por . O resultado da substituição é armazenado em , atualizando a expressão anterior. Após a susbtituição, fica assim:
Já deu uma boa enxuagada. Agora vamos substituir as condições iniciais em . O enunciado disse que elas são nulas, logo, . Na expressão acima, é fácil de identificar quem é . Já é representado por , um pouco mais sutil.
Para fazer as substituições, adicione ao seu programa a linha de código:
Com este comando, substituímos em e por e armazenamos a nova expressão em , no lugar da antiga. Note que usei aspas simples em , para indicar que os parênteses pertencem a uma expressão só. Se você tentar rodar o programa sem elas, o MATLAB acusará erro de sintaxe.
Agora está assim:
Passo 4
Agora podemos encontrar . Para isto, precisamos encontrar para daí aplicar nele , para termos a inversa da tranformada de Laplace. Em , a variável representa e podemos usar a função do MATLAB para encontrá-la. Adicione em seu código:
Com este comando, a função resolve a equação para a variável e armazena a solução em , atualizando seu valor. Na prática, isolamos na equação e passa a representar a expressão algébrica de . Rodando o programa, temos que é igual a:
Para encontrarmos , devemos aplicar a inversa da transformada de Laplace em , isto é, usar a função do MATLAB em . A função tem a estrutura:
Ela retorna a inversa da transformada de Laplace de , armazenando-a na variável .
Logo, em seu código, entre o comando:
Com este comando, o MATLAB calcula a inversa da transformada de Laplace de e armazena o resultado em , atualizando seu valor. é a solução da equação diferencial, representadno a resposta do sistema ao degrau unitário. Rodando o programa, temos que é igual a:
A expressão acima ficou grandinha, mas ela vai encolher quando substituirmos , e pelos valores fornecidos no enunciado.
Passo 5
Vamos comparar as respostas ao degrau de um filtro de banda larga, com , e de um filtro de banda estreita, com . O primeiro passo é substituir em e por e , usando o comando :
Com este comando, foi atualizado com valores numéricos de e .
Em seguida, vamos substituir por , para ver a resposta ao degrau do filtro de banda larga:
Armazenamos em a expressão de com . Vamos ver como ela ficou?
Podemos transformar as frações e as exponenciações em números decimais, usando o comando do MATLAB. Este comando avalia cada elemento de uma expressão simbólica e identifica as frações ou as exponenciações com números reais, e as transforma em números “quebrados”. Por isso, acrescente no seu código o comando:
Este comando aplica a função em e armazena o resultado em , substituindo a expressão anterior. Ele vai nos dar os coeficientes de com algarismos significativos. Ao rodar programa, podemos ver com seus coeficientes transformados em números decimais:
Repare que tem números complexos, identificados por multiplicarem .
Vamos agora ver como é em um filtro de banda estreita, isto é, vamos substituir por :
Armazenamos em a expressão de com . Rode o programa e imprima-a no Command Window para ver
Bem mais simpática que , não?
Resposta
A resposta ao degrau do filtro de banda larga é:
A resposta ao degrau do filtro de banda estreita é:
Exercício Resolvido #8
“Adaptado de MATLAB® for Engineering Applications, de William J. Palm III, McGraw-Hill Education, 4ª edição, 2019. Exercício 44, p. 557”
A equação diferencial que modela um certo sistema de controle de posição de uma ferramenta de corte de metal é
Onde a posição real da ferramenta é , a posição desejada é , e , e são constantes chamadas “ganhos”. Use o método da transformada de Laplace para encontrar a resposta ao degrau unitário (isto é, é uma função degrau unitário). Use condições iniciais nulas. Compare a resposta para três casos:
Passo 1
O exercício pede para encontrarmos a resposta de a igual a um degrau unitário, usando a transformada de Laplace. Em outras palavras, precisamos encontrar a solução da equação diferencial de terceira ordem dada pelo enunciado. Primeiramente, aplicaremos a função do MATLAB na equação diferencial para encontrarmos a transformada de . A transformada de Laplace de será indicada por .
Após encontrarmos , vamos aplicar para encontrar a inversa da transformada, isto é, , que é a solução da equação diferencial.
Vamos fazer esse procedimento primeiro considerando , e simbólicos, substituindo-os pelos valores dados pelo enunciado somente no final. Para compararmos a resposta nos três casos, substituiremos em os valores de , e e veremos como ficará a expressão simbólica para cada caso.
Passo 2
Comece entrando com a equação diferencial no MATLAB, termo a termo. Em um script novo, digite as linhas de código:
Na primeira linha, são criadas as variáveis simbólicas , , e , sendo indicado que é em função de .
Na segunda linha, calculamos a derivada usando a função do MATLAB. Como estamos trabalhando com variáveis simbólicas, apenas representa a derivada de em relação a e é armazenado em .
Na terceira linha, calculamos a derivada , pedindo ao MATLAB para calcular a derivada de em relação a (). A segunda derivada de é registrada em .
Na quarta linha, calculamos a derivada , pedindo ao MATLAB para calcular a derivada de em relação a (). A terceira derivada de é registrada em .
Na quinta linha, criamos um degrau unitário em função de usando a função , representando a posição desejada da ferramenta.
Na sexta linha, definimos a primeira derivada do degrau unitário usando . A derivada é armazenada em .
Finalmenten na sétima linha, é definida a segunda derivada , aplicando em e derivando-o em relação a (). é registrada em .
Tendo definido os termos da equação, vamos criá-la e armazená-la na variável , jogando todos os termos para a esquerda da igualdade e fazendo com que :
Note que usei o recurso dos três pontos (...) para “quebrar” a linha de código, de forma que conseguimos ver inteira sem ter que usar uma barra de rolagem.
Passo 3
Tendo entrado a equação diferencial no MATLAB, vamos usar a função para calcular a transformada de Laplace dela. Lembrando que tem a sintaxe:
Ela retorna a transformada de Laplace da função , armazenando-a na variável .
Acrescente em seu programa o comando abaixo para calcular a transformada de Laplace de :
A transformada de é armazenada em . Para ver como ficou, execute o programa que fizemos até agora e imprima no Command Window:
ficou tão grande que quebrei ele em três prints, mas já vamos dar uma boa enxugada nele. Note que aparecem uns termos em , e eles têm exatamente a mesma estrutura da função . Essa expressão representa a transformada de Laplace de e pode ser substituída por . No caso, chamaremos só de .
Para fazer a substituição, implemente as linhas de código:
Primeiramente, criamos mais duas variáveis simbólicas: e . Em seguida, usamos a função para pedir ao MATLAB que substitua em a expressão por . O resultado da substituição é armazenado em , atualizando a expressão anterior. Após a susbtituição, fica assim:
Novamente, tive que quebrar em mais de um print, porque ainda tá enorme. Vamos fazer mais uma substituiçãozinha: o enunciado disse que as condições iniciais são nulas, isto é, . Na expressão acima, identificamos de cara quem é x. Já e não são tão evidentes: elas são representadas por e , respectivamente.
Para fazer as substituições das condições iniciais, adicione ao seu programa a linha de código:
Com este comando, substituímos em , e por e armazenamos a nova expressão em , no lugar da antiga. Note as aspas simples em e , elas indicam que os múltiplos parênteses pertencem a uma expressão só, isto é, compõem uma variável simbólica. Se você tentar rodar o programa sem elas, o MATLAB acusará erro de sintaxe.
Vamos ver a nova cara de :
Ficou bem mais bonitinho =)
Passo 4
Com o mais enxuto, podemos encontrar . Para isto, precisamos encontrar para daí aplicar nele , para termos a inversa da tranformada de Laplace. Em , a variável representa e podemos usar a função do MATLAB para encontrá-la. Adicione em seu código:
Com este comando, a função resolve a equação para a variável e armazena a solução em , atualizando seu valor. Na prática, isolamos na equação e passa a representar a expressão algébrica de . Rodando o programa, temos que é igual a:
Para encontrarmos , devemos aplicar a inversa da transformada de Laplace em , isto é, usar a função do MATLAB em . A função tem a estrutura:
Ela retorna a inversa da transformada de Laplace de , armazenando-a na variável .
Logo, em seu código, adicione o comando:
Com este comando, o MATLAB calcula a inversa da transformada de Laplace de e armazena o resultado em , atualizando seu valor. é a solução da equação diferencial, representando a resposta do sistema ao degrau unitário.
Se você rodar o programa para ver , você vai ver que ele ficou uma expressão bem longa, com algumas comandos esquisitos (tipo ). Vamos fazer a substituição dos ganhos , e para plotar curvas de , facilitando a comparação das respostas ao degrau.
Passo 5
As opções de substituição são:
Para implementá-las no nosso programa, usaremos a função e substituiremos as variáveis , e de pelos ganhos apresentados acima:
Na primeira linha, substituímos em as variáveis , e pelos ganhos da letra a e armazenamos o resultado em .
Nas linhas seguintes, fazemos a mesma coisa para os ganhos das letras e , registrando a substituição nas variáveis e , respectivamente.
Para plotar as curvas de , e , criamos um vetor , indo de a . A ideia é substituir a variável simbólica das expressões de , e por cada elemento de e calcular o valor numérico de , e . Para isto, usaremos o comando para fazer a substituição de pelo vetor e usaremos a função para converter o resultado de simbólico para valores numéricos:
Por exemplo, na segunda linha acima, a variável simbólica é substituída por cada elemento do vetor em . O resultado dessa substituição é convertido de simbólico para numérico usando . O resultado da conversão é o vetor , que contém os valores de para cada elemento de tempo. O mesmo é feito para e .
Para gerar as curvas das respostas ao degrau, digite os dois comandos:
A função gerará o gráfico com as curvas de em relação a , em relação a e em relação a .
O comando cria a legenda do gráfico, indicando que o primeiro par de vetores de representa a curva da resposta ao degrau com os ganhos de a, o segundo par, com os ganhos de b e o último par, com os ganhos de c.
Ao executar o programa, você terá as curvas de para cada uma das três alternativas de ganhos.