Using dsolve function to solve this equation?

4 views (last 30 days)
Question: Use dsolve to solve this equation: y' − y = 2 sin(t).
Below is the code I used but I do not think I am getting the right answer.
syms y(t);
y = dsolve(diff(y) == 2*sin(t)+y)

Accepted Answer

Star Strider
Star Strider on 23 Jul 2016
For grins, I decided to see what a Laplace transform solution would produce:
syms s y(t) y0 Y
Lsin = laplace(sin(t));
Eqn1 = Y*(s-1) == Lsin;
Eqn2 = solve(Eqn1, Y);
Eqn3 = ilaplace(partfrac(Eqn2))
Eqn4 = simplify(Eqn3, 'steps',10)
Eqn3 =
exp(t)/2 - cos(t)/2 - sin(t)/2
Eqn4 =
exp(t)/2 - (2^(1/2)*sin(t + pi/4))/2
  2 Comments
Bob
Bob on 23 Jul 2016
I need to use the dsolve function, so this does not help me at all.
Star Strider
Star Strider on 23 Jul 2016
My point is that it gives an equivalent answer to the answer dsolve returns when you simplify it. It assumes an initial condition of zero. If you want to specify an initial condition, include one:
syms y(t) y0
y = dsolve(diff(y) == 2*sin(t)+y, y(0) == y0)
y =
exp(t)*(y0 + 1) - 2^(1/2)*cos(t - pi/4)

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!