simple second order ODE solver

Hello, I am trying to solve this second order ODE.
(d^2(x)/dt^2)+(dx/dt)+x=0
x(0)=0,x'(0)=1
t=[0 10]
I have tried using ODE 45 and dsolve , however when I always get some kind of error message either regarding my t input or my x''. If anyone has can lend assistance that would be much appreciated. Thanks in advance.

1 Kommentar

Jan
Jan am 27 Apr. 2016
Bearbeitet: Jan am 27 Apr. 2016
Please post your code and the a copy of the complete error message. Then suggesting an improvement is easier and you can learn what went wrong.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Torsten
Torsten am 27 Apr. 2016

0 Stimmen

You can't prescribe x''(0) for a 2nd order ODE.
Best wishes
Torsten.

4 Kommentare

Derek Bindbeutel
Derek Bindbeutel am 27 Apr. 2016
Oh sorry its actually x'(0)=1
Torsten
Torsten am 27 Apr. 2016
Bearbeitet: Torsten am 27 Apr. 2016
syms y(t)
Dy = diff(y);
dsolve(diff(y, 2) + diff(y) + y == 0, y(0) == 0, Dy(0) == 1)
Best wishes
Torsten.
Derek Bindbeutel
Derek Bindbeutel am 27 Apr. 2016
Thanks this is a lot of help. How will add a time span from 0 to 10 t=[0,10] affect this method?
Torsten
Torsten am 27 Apr. 2016
No. t will be a variable in the answer.
Solution is here:
Best wishes
Torsten.

Melden Sie sich an, um zu kommentieren.

Jan
Jan am 27 Apr. 2016
Bearbeitet: Jan am 27 Apr. 2016

0 Stimmen

function yourIntegration
x0 = [0; 1];
[t, x] = ode45(@YourODE, x0, [0, 10]);
plot(t, x);
function dx = YourODE(t, x)
dx = [x(2) ; ...
-x(2) - x(1)];

Gefragt:

am 27 Apr. 2016

Bearbeitet:

Jan
am 27 Apr. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by