> Then yes, you're absolutely right. I've never investigated complex problems 
> before, so I expect there must be more changes that need to be done in the 
> m-files to handle these kind of problems.
>
>> I think I will have some time to further investigate the codes (at least, 
>> the m-files).
>
> Great, thanks, then I'll wait with that single modification to the m-file 
> solvers until I either get a patch or modified m-files or whatever from you 
> for all the other modifications.

So, after the change ' -> .' everywhere, I modified this block

       if (~vnormcontrol)
-->     vdelta = abs(y5 - y4);
-->     vtau = max (vodeoptions.RelTol * abs(vu.'), vodeoptions.AbsTol);
       else
         vdelta = norm (y5 - y4, Inf);
         vtau = max (vodeoptions.RelTol * max (norm (vu.', Inf), 1.0), ...
                     vodeoptions.AbsTol);
       end

with the absolute values where pointed. I have to say that I don't 
understand

max (norm (vu.', Inf), 1.0)

Why the maximum between the norm and 1.0?
I modified in a similar way ode23, ode54 and 
ode78 and tested the equation y'(t)=sqrt(i)*y(t) and a more complicated 
Schroedinger equation and they work without any problem.
The change in vdelta makes the codes to behave like with "NormControl" = 
"on", since the infinity-norm is used. I think the 2-norm should be used in
this case.

Best regards,

Marco

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to