Path: news.mathworks.com!not-for-mail From: "Peter " <pgillies3@gmail.com> Newsgroups: comp.soft-sys.matlab Subject: ode45 problems Date: Sun, 3 Jul 2011 22:17:10 +0000 (UTC) Organization: The MathWorks, Inc. Lines: 25 Message-ID: <iuqpp6$917$1@newscl01ah.mathworks.com> Reply-To: "Peter " <pgillies3@gmail.com> NNTP-Posting-Host: www-04-blr.mathworks.com Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: newscl01ah.mathworks.com 1309731430 9255 172.30.248.35 (3 Jul 2011 22:17:10 GMT) X-Complaints-To: news@mathworks.com NNTP-Posting-Date: Sun, 3 Jul 2011 22:17:10 +0000 (UTC) X-Newsreader: MATLAB Central Newsreader 2419300 Xref: news.mathworks.com comp.soft-sys.matlab:734740 I'm new to using ode functions in matlab. I've got the basic stuff working but have found something strange. Here is my core function: ============ function dxdt = harm1(tr,xr) % Simple harmonic oscillator from Thompson & Stewart dxdt = [xr(2); -4*pi^2*sin(xr(1))]; end ============= It is an undamped, unforced pendulum. The result should maintain the same amplitude (???) I have 2 results from 2 initial conditions. As I extend the time series (e.g. to 500 secs) I find that one of the results shows a very significant reduction in amplitude, and the other shows a small increase in amplitude. (The reason for running a long time series - apart from just curiosity - is to get a clear fft plot). The starting conditions are x=1.5, dx/dt=0; x=1.55, dx/dt=0 The amplitude of condition 1 at the start is, of course, 1.5 - but at 500 secs is 0.93. The amplitude of condition 2 at the start is 1.55 - and at 500 secs is 1.59 My phase plot (x vs dx/dt) shows clear gradual decline in amplitude of condition 1 and clear gradual increase of condition 2. Is this an ode45 issue? Is there something I need to do with long time series? Any help would be appreciated, thanks.