Find Transfer Function from Laplace transformation

22 views (last 30 days)
Hi! I want to find the transfer function from a laplace transformation of a differential equation. Specifically this is the example I am working:
m = 1;
e = 0.06;
O = 25;
s = 25;
h = 1+e*s;
f = m*e*O^2;
P = e*f;
d = 0.1;
z = e*d;
%%%%%%%%%%%%%%%
syms t z u(t) e h P
f = diff(u(t),t,2) + 2*z*diff(u(t),t) + u(t) + e*(u(t))^3 - h^2 *P*cos(h*t);
F = laplace(f);
%transfer fuction
-------------------
The laplace transformation gives me this:
F = e*laplace(u(t)^3, t, s) - subs(diff(u(t), t), t, 0) - s*u(0) + s^2*laplace(u(t), t, s) - 2*z*(u(0) - s*laplace(u(t), t, s)) + laplace(u(t), t, s) - (P*h^2*s)/(h^2 + s^2).
I dont know how to convert it to a simplier form to find the transfer function. Please if you know something, comment below.
Thank you!!!

Accepted Answer

Anurag Ojha
Anurag Ojha on 18 Jun 2024
Hi Christos
I have written MATLAB code to find a simpler form of the transfer function I have made use of some in built MATLAB functions. I have added those documentation at the end for your reference:
syms s U(s) u(t) e h P z
% Define the differential equation
f = diff(u(t), t, 2) + 2*z*diff(u(t), t) + u(t) + e*(u(t))^3 - h^2 *P*cos(h*t);
% Take the Laplace transform
F = laplace(f, t, s);
% Rearrange the terms to isolate the Laplace transform of the output variable
F = collect(F, laplace(u(t), t, s));
% Divide both sides by the Laplace transform of the input variable
H = F / U(s);
% Simplify the transfer function
H = simplify(H);
% Display the transfer function
disp(H);

More Answers (1)

Sam Chak
Sam Chak on 18 Jun 2024
The differential equation has a dependent variable with nonlinearity u(t)³. Since nonlinear systems cannot be analyzed by Laplace transform, MATLAB will return the result in that format.

Products

Community Treasure Hunt

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

Start Hunting!