Using dsolve function to solve this equation?

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)

 Akzeptierte Antwort

Star Strider
Star Strider am 23 Jul. 2016

0 Stimmen

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 Kommentare

Bob
Bob am 23 Jul. 2016
I need to use the dsolve function, so this does not help me at all.
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)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Gefragt:

Bob
am 23 Jul. 2016

Kommentiert:

am 23 Jul. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by