lteqn =
Second Order Laplace solving doesn't work ('Unable to find explicit solution')
Mostrar comentarios más antiguos
I'm trying to solve an ODE using Laplace method, but I'm stuck on solving the equation 

Here's my code:
syms t x(t) s X(s);
% PARAMETERS (tried to do symbolically but it was more diffcult)
m = 1;
k = 0.5;
xi = 1.2;
c = xi*2*sqrt(k*m)
f0 = 1;
w = 0.1;
dx = diff(x, t, 1);
ddx = diff(x, t, 2);
% INITIAL CONDITIONS
x0 = 0;
dx0 = 0;
newton = m*ddx+ c*dx +k*x;
f = f0*cos(w*t);
lteqn = laplace(newton, t, s)
lefteqn = subs(lteqn,{laplace(x(t), t, s), x(0),dx(0)},{X(s), x0, dx0})
F_s = laplace(f, t, s);
simplify(solve(lefteqn == F_s, X(s)))
I can't believe MATLAB cannot solve this easy equation. I think I'm missing something.
Thank you guys
Respuesta aceptada
Más respuestas (1)
Do you want to analytically solve the ODE like this?
syms s t X
%% original parameters
m = 1;
k = 0.5;
xi = 1.2;
c = xi*2*sqrt(k*m);
f0 = 1;
w = 0.1;
%% Test parameters -> should return x(t) = 1/2·(sin(t) - t·e^(-t))
% m = 1;
% k = 1;
% xi = 1;
% c = xi*2*sqrt(k*m);
% f0 = 1;
% w = 1;
%% Main
eqn = m*s^2*X + c*s*X + k*X == laplace(f0*cos(w*t), t, s);
X = solve(eqn, X);
x = ilaplace(X, s, t)
1 comentario
Matteo Millone
el 13 de Ag. de 2024
Categorías
Más información sobre Symbolic Math Toolbox en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

