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 件のコメント

Jan
Jan 2016 年 4 月 27 日
編集済み: Jan 2016 年 4 月 27 日
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.

サインインしてコメントする。

回答 (2 件)

Torsten
Torsten 2016 年 4 月 27 日

0 投票

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

4 件のコメント

Derek Bindbeutel
Derek Bindbeutel 2016 年 4 月 27 日
Oh sorry its actually x'(0)=1
Torsten
Torsten 2016 年 4 月 27 日
編集済み: Torsten 2016 年 4 月 27 日
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 2016 年 4 月 27 日
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 2016 年 4 月 27 日
No. t will be a variable in the answer.
Solution is here:
Best wishes
Torsten.

サインインしてコメントする。

Jan
Jan 2016 年 4 月 27 日
編集済み: Jan 2016 年 4 月 27 日

0 投票

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)];

質問済み:

2016 年 4 月 27 日

編集済み:

Jan
2016 年 4 月 27 日

Community Treasure Hunt

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

Start Hunting!

Translated by