octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ode Refine option missing


From: Rik
Subject: Re: ode Refine option missing
Date: Fri, 21 Oct 2016 13:05:47 -0700

On 10/21/2016 10:02 AM, c. wrote:
> On 21 Oct 2016, at 12:39, Carlo de Falco <address@hidden> wrote:
>
>> Rik,
>> This issue does not look like it is bad enough to block the release.
> Actually, this probably is worse than I thought and deserves a fix.
> It seems refinement steps are not returned whether integration is stopped or 
> not:
>
> Matlab 2016a:
> ------------------------------------------------------------------------------------------------------
>>> [t, y] = ode45 (myfun, [0 1], 1, odeset ('maxstep', 1, 'initialstep', .1, 
>>> 'refine', 3)); numel (t)
> ans =
>
>     10
>
>>> [t, y] = ode45 (myfun, [0 1], 1, odeset ('maxstep', 1, 'initialstep', .1, 
>>> 'refine', 1)); numel (t)
> ans =
>
>      4
> ------------------------------------------------------------------------------------------------------
>
> Octave:
> ------------------------------------------------------------------------------------------------------
>>> [t, y] = ode45 (myfun, [0 1], 1, odeset ('maxstep', 1, 'initialstep', .1, 
>>> 'refine', 3)); numel (t)
> ans =  6
>>> [t, y] = ode45 (myfun, [0 1], 1, odeset ('maxstep', 1, 'initialstep', .1, 
>>> 'refine', 1)); numel (t)
> ans =  6
> ------------------------------------------------------------------------------------------------------
>
> what do you think?
> I'll post a bug report about this later.

Post the bug report and it can get worked out there.  This is actually a
large problem because grep -rn 'Refine' suggests the option is only used
for calculations in integrate_adaptive.  And within that m-file, it's use
is protected within an if-block for OutputFcn.  Thus, for normal
integrations the Refine option is completely ignored.

--Rik



reply via email to

[Prev in Thread] Current Thread [Next in Thread]