Find Transfer Function from Laplace transformation

25 vues (au cours des 30 derniers jours)
Christos
Christos le 18 Juin 2024
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!!!

Réponse acceptée

Anurag Ojha
Anurag Ojha le 18 Juin 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);

Plus de réponses (1)

Sam Chak
Sam Chak le 18 Juin 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.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by