Help with Laplace transform method for 2nd order DE
8 views (last 30 days)
Show older comments
I'm trying to solve the equation: y'' +2y' +y = g(t), with g(t) = { sin(t) if t < pi, 0 if t < pi }, and the intial conditons y(0) = 0 and y'(0) = 0.
Here's the code that I've tried:
syms s t y(t) Y
g = heaviside(t)*(sin(t)) + heaviside(t - pi)*(-sin(t));
eqn = diff(y,2) + 2*diff(y) + 2*(y) == g;
lteqn = laplace(eqn, t, s);
neweqn = subs(lteqn, [laplace(y(t), t, s), y(0), subs(diff(y(t), t, 0)), [Y, 0, 0]]);
ytrans = simplify(solve(neweqn, Y));
Warning: Unable to find explicit solution. For options, see help.
> In sym/solve (line 317)
>> y = ilaplace(ytrans, s, t)
y =
Empty sym: 0-by-1
I'm not sure why ytrans is not finding a solution. Can someone help me fix this/ find a different method?
0 Comments
Accepted Answer
Star Strider
on 23 Apr 2023
Then, it works —
syms s t y(t) Y
g = heaviside(t)*(sin(t)) + heaviside(t - pi)*(-sin(t));
eqn = diff(y,2) + 2*diff(y) + 2*(y) == g;
lteqn = laplace(eqn, t, s);
neweqn = subs(lteqn, {laplace(y(t), t, s), y(0), subs(diff(y(t), t), t, 0)}, {Y, 0, 0})
ytrans = simplify(solve(neweqn, Y));
y = ilaplace(ytrans, s, t)
figure
fplot(y, [0 10])
grid
.
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!