# Back from transfer function (s-domain) to differential equation (in t-domain)

I've got the following transfer function (in the s-domain):

$$\text{H}(s)=\frac{\text{C}s}{\text{RC}s+1}$$

Is there a function in Mathematica 10 that I can go back to the differential equation (in the t-domain), I've looked for it but I'm not be able to find it?

• This would benefit from addition of Mathematica code at least for the definition of the function in question. – Daniel Lichtblau Nov 29 '15 at 20:13

You can use the definition of Laplace. Assuming zero initial conditions, replace $s$ with $\frac{dy}{dt}$ and $s^2$ with $\frac{d^2y}{dt^2}$ and so on.

tfToDiff[tf_, s_, t_, y_, u_] := Module[{rhs, lhs, n, m},
rhs = Numerator[tf];
lhs = Denominator[tf];
rhs = rhs /. m_. s^n_. -> m D[u[t], {t, n}];
lhs = lhs /. m_. s^n_. -> m D[y[t], {t, n}];
lhs == rhs
]


Now call it

tf = C0 s/(R0 C0 s + 1);
eq=tfToDiff[tf, s, t, y, u]


$y(t)$ is your output, and $u(t)$ is the input. (these are what go in the transfer function when you write $\frac{Y(s)}{U(s)}=\dots$. You'd have to replace this when the actual $u(t)$ to solve the differential equation. For step input, (i.e. $u(t)=\text{unit step}$)

eq = eq /. u'[t] -> UnitStep'[t];
DSolve[{eq, y[0] == 0}, y[t], t]


Another Example

tf = (5 s)/(s^2 + 4 s + 25);
tfToDiff[tf, s, t, y, u]


• Your last Example gives me nothing, how can I make it work? I jsut copied your code – Jan Nov 29 '15 at 21:09
• @JanEerland You need to have the function tfToDiff defined first. – Nasser Nov 29 '15 at 21:10
• How can I do that? – Jan Nov 29 '15 at 21:10
• Yes, of course I got it, thanks a lot! – Jan Nov 29 '15 at 21:13

Depending on what you want to do with it, you might use the built-in InverseLaplaceTransform:

InverseLaplaceTransform[c s/(1 + r c s), s, t]

c (-(E^(-(t/(c r)))/(c^2 r^2)) + DiracDelta[t]/(c r))