Transformada inversa de Laplace usando MATLAB
Este tutorial irá discutir como encontrar a transformação inversa de Laplace usando a função ilaplace()
no MATLAB.
Encontre a transformação Laplace inversa usando a função ilaplace()
no MATLAB
Usamos a transformada de Laplace inversa para converter a função de domínio de Laplace em uma função de domínio de tempo. No Matlab, podemos usar a função ilaplace()
para converter uma função de domínio de Laplace em uma função de domínio de tempo. A função ilaplace()
exclui três variáveis de entrada. A primeira variável é obrigatória, que é a função de domínio de Laplace, a segunda variável é opcional, que é a variável independente do domínio de Laplace. Por padrão, o Matlab usará a variável s como a variável independente, e a terceira variável é a variável de transformação do domínio do tempo. Por padrão, o Matlab usará a variável t como a variável de transformação. Por exemplo, vamos encontrar a transformada de Laplace inversa de uma função usando a função ilaplace()
no Matlab. Veja o código abaixo.
syms s
fun = 1/s^2;
Output = ilaplace(fun)
Resultado:
Output =
t
No código acima, como você pode ver, fornecemos a função apenas para a função ilaplace()
. Mas se você quiser mudar a variável de transformação, você precisa passar essa variável como um segundo argumento para a função ilaplace()
. Por exemplo, vamos substituir a variável de transformação t por x. Veja o código abaixo.
syms s
fun = 1/s^2;
Output = ilaplace(fun,x)
Resultado:
Output =
x
No código acima, como você pode ver, a variável de transformação t é alterada para x. Agora considere outro exemplo em que alteraremos a variável independente, bem como a variável de transformação. Veja o código abaixo.
syms a s
Fun = 1/(s-a);
Output = ilaplace(Fun)
Resultado:
Output =
exp(a*t)
No código acima, fornecemos a função apenas para a função ilaplace()
, portanto, ela usará os valores padrão para a variável independente e a variável de transformação. Agora, vamos alterar essas duas variáveis e, em vez disso, usaremos a
como uma variável independente ex como uma variável de transformação. Veja o código abaixo.
syms a s
Fun = 1/(s-a);
Output = ilaplace(Fun,a,x)
Resultado:
Output =
-exp(s*x)
No código acima, como você pode ver, a saída e as variáveis na saída foram alteradas. Portanto, se mudarmos a variável independente, o resultado mudará. Também podemos encontrar a transformada de Laplace inversa de um array ou array usando a função ilaplace()
. Podemos definir a variável independente e de transformação como um array da mesma dimensão que a matriz da função de domínio de Laplace. A função ilaplace()
atuará elemento a elemento se os argumentos do array forem não escalares. Por exemplo, vamos encontrar a transformada de Laplace inversa de um array. Veja o código abaixo.
syms a b c d w x y z
Matrix = [1/x 1; sin(y) i*z];
var = [w x; y z];
tVars = [a b; c d];
Output = ilaplace(Matrix,var,tVars)
Resultado:
Output =
[ dirac(a)/x, dirac(b)]
[ ilaplace(sin(y), y, c), dirac(1, d)*1i]
A saída do array também virá em um array da mesma dimensão. Suponha que queremos encontrar a transformada de Laplace inversa de um polinômio e não queremos escrever a equação inteira no Matlab. Nesse caso, podemos escrever os coeficientes polinomiais do numerador e denominador apenas. E então, usando a função poly2sym()
, podemos converter os coeficientes polinomiais em um polinômio simbólico. A função poly2sym()
exclui dois argumentos de entrada, o primeiro argumento é o vetor de coeficientes polinomiais e o segundo argumento é o símbolo que queremos adicionar à expressão polinomial. Por exemplo, vamos encontrar a transformada de Laplace inversa de uma expressão polinomial. Veja o código abaixo.
syms s t;
numerator=[1 1];
denominator=[1 3 5];
numS=poly2sym(numerator,s);
denS=poly2sym(denominator,s);
Fun=numS./denS
Output = ilaplace(Fun,s,t)
NumericOutput = vpa(Output)
Resultado:
Fun =
(s + 1)/(s^2 + 3*s + 5)
Output =
exp(-(3*t)/2)*(cos((11^(1/2)*t)/2) - (11^(1/2)*sin((11^(1/2)*t)/2))/11)
NumericOutput =
exp(-1.5*t)*(cos(1.6583123951776999245574663683353*t) - 0.30151134457776362264681206697006*sin(1.6583123951776999245574663683353*t))
O Fun é a expressão polinomial na saída acima, e a variável Output
é sua transformação de Laplace inversa. Como você pode ver, a variável Output
contém potências e divisões, que não são resolvidas. Para obter um resultado numérico simplificado, podemos usar a função vpa()
para converter o resultado em um formato numérico. Neste exemplo, o resultado numérico é armazenado na variável NumericOutput
.