Obtain a transfer function form a 2nd order D.E. using the Lapalce Transforms

Hello,
(Using MATLAB) Is it possible to obtain a transfer function H(s) from a 2nd order D.E. using the Laplace Transfroms?
The D.E. is; d^2y(t)/dt^2 + 7.6*dy(t)/dt + 4.2*y(t) = x(t)
Thanks!

 채택된 답변

It is, however it takes some effort and a bit of manual intervention in the end:
% d^2y(t)/dt^2 + 7.6*dy(t)/dt + 4.2*y(t) = x(t)
syms s t x(t) y(t) X(s) Y(s)
assume(X(s) ~= 0)
DE = diff(y,2) + 7.6*diff(y,1) + 4.2*y == x;
LDE = laplace(DE,t,s);
LDE = subs(LDE, {laplace(y, t, s), subs(diff(y(t), t), t, 0), laplace(x(t), t, s), y(0)},{Y(s), 0, X(s), 0})
LDETF = simplify( LDE, 'Steps',250)
LDETF = subs(LDETF,{X,Y},{1,1})
LDETF = ((5*s + 3)*(s + 7))/5
s = tf('s');
H = ((5*s + 3)*(s + 7))/5 % Copy ‘LDETF’ Result From Command Window & Paste Here
bode(H)

댓글 수: 4

Thanks! the script works perfectly.
one small question, can you explain the following line of code; Thanks again!
LDETF = simplify( LDE, 'Steps',250) %What is 'Steps', 250
As always, my pleasure!
The simplify function simplifies the argument expression. The 'Steps' name-value pair tells it to keep iterating until it cannot simplify it further, the limit here being 250 simplification steps.
As always, my pleasure!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

2020년 1월 13일

댓글:

2020년 1월 15일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by