solving ordinary differential equations

15 views (last 30 days)
Hello, I'm a beginner in matlab. I'm trying to solve ODE in matlab, but I'm getting error I don't know why!
This is the equation d2y(t) / dt2 + 2 dy/dt + 5 y(t) = 5 cos1500t, I attached a photo of my code with the errors.
  1 Comment
Torsten
Torsten on 31 Dec 2021
Edited: Torsten on 31 Dec 2021
Which MATLAB version do you use ?
The syntax for using "dsolve" has changed in the course of time.

Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 31 Dec 2021
I think the reason for the error is that you have defined dy as a sym variable rather than a symfun, so it is interpretting the '(0)' to be an index into variable dy rather than dy at t==0.
Try this
syms y(t)
dy(t) = diff(y(t),t)
dy(t) = 
dy2(t) = diff(y(t),t,2)
dy2(t) = 
equation = dy2 + 2*dy + 5*y(t) == 5*cos(1500*t)
equation(t) = 
i1 = y(0) == 0;
i2 = dy(0) == 0;
dsolve(equation,[i1,i2])
ans = 

More Answers (0)

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!