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 comentario

Jan
Jan el 27 de Abr. de 2016
Editada: Jan el 27 de Abr. de 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.

Iniciar sesión para comentar.

Respuestas (2)

Torsten
Torsten el 27 de Abr. de 2016

0 votos

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

4 comentarios

Derek Bindbeutel
Derek Bindbeutel el 27 de Abr. de 2016
Oh sorry its actually x'(0)=1
Torsten
Torsten el 27 de Abr. de 2016
Editada: Torsten el 27 de Abr. de 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 el 27 de Abr. de 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 el 27 de Abr. de 2016
No. t will be a variable in the answer.
Solution is here:
Best wishes
Torsten.

Iniciar sesión para comentar.

Jan
Jan el 27 de Abr. de 2016
Editada: Jan el 27 de Abr. de 2016
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)];

Preguntada:

el 27 de Abr. de 2016

Editada:

Jan
el 27 de Abr. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by