Mercurial > forge
changeset 2947:c8eaf44e140e octave-forge
Updates.
author | treichl |
---|---|
date | Sat, 20 Jan 2007 17:36:37 +0000 |
parents | 686bbe1b1276 |
children | 738b17b8afc2 |
files | main/odepkg/inst/ode23.m main/odepkg/inst/ode45.m main/odepkg/inst/ode54.m main/odepkg/inst/ode78.m |
diffstat | 4 files changed, 13 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/main/odepkg/inst/ode23.m Sat Jan 20 17:30:37 2007 +0000 +++ b/main/odepkg/inst/ode23.m Sat Jan 20 17:36:37 2007 +0000 @@ -144,6 +144,8 @@ if (isempty (vodeoptions.MaxStep) == true) vodeoptions.MaxStep = abs (vslot(1,1) - vslot(1,length (vslot))) / 10; end + %# Implementation of the option Events has been finished. This option + %# can be set by the user to another value than default value. if (isequal (vodeoptions.Events, vodetemp.Events) == false) vhaveeventfunction = true; %# default value is [] else, vhaveeventfunction = false; end @@ -311,8 +313,7 @@ vretvalresult(vcntloop-1,:) = vevent{4}(end,:); vunhandledtermination = false; break; end - end - + end end %# If the error is acceptable ... %# Update the step size for the next integration step @@ -335,7 +336,7 @@ vmsg = sprintf (['Solving has not been successful. The iterative', ... ' integration loop exited at time t = %f before endpoint at', ... ' tend = %f was reached. This happened because the iterative', ... - ' integration loop does not find a valid soultion at this time', ... + ' integration loop does not find a valid solution at this time', ... ' stamp. Try to reduce the value of "InitialStep" and/or', ... ' "MaxStep" with the command "odeset".\n'], vtimestamp, vtimestop); error (vmsg);
--- a/main/odepkg/inst/ode45.m Sat Jan 20 17:30:37 2007 +0000 +++ b/main/odepkg/inst/ode45.m Sat Jan 20 17:36:37 2007 +0000 @@ -144,6 +144,8 @@ if (isempty (vodeoptions.MaxStep) == true) vodeoptions.MaxStep = abs (vslot(1,1) - vslot(1,length (vslot))) / 10; end + %# Implementation of the option Events has been finished. This option + %# can be set by the user to another value than default value. if (isequal (vodeoptions.Events, vodetemp.Events) == false) vhaveeventfunction = true; %# default value is [] else, vhaveeventfunction = false; end @@ -314,8 +316,7 @@ vretvalresult(vcntloop-1,:) = vevent{4}(end,:); vunhandledtermination = false; break; end - end - + end end %# If the error is acceptable ... %# Update the step size for the next integration step @@ -338,20 +339,12 @@ vmsg = sprintf (['Solving has not been successful. The iterative', ... ' integration loop exited at time t = %f before endpoint at', ... ' tend = %f was reached. This happened because the iterative', ... - ' integration loop does not find a valid soultion at this time', ... + ' integration loop does not find a valid solution at this time', ... ' stamp. Try to reduce the value of "InitialStep" and/or', ... ' "MaxStep" with the command "odeset".\n'], vtimestamp, vtimestop); error (vmsg); end - %# Handle the event function if an event function was set with odeset -%# if (vhaveeventfunction == true) - %# [vreteve, vretter, vretdir] = feval (vodeoptions.Events, vtimestamp, vretvalresult(vcntloop-1,:)'); - %# Reminder: Event handling should be in an extra function with - %# 'init', [], 'done' like the odeplot functions (using also - %# persistent variables to store needed variables etc. -%# end - end %# The main loop %# Check if integration of the ode has been successful
--- a/main/odepkg/inst/ode54.m Sat Jan 20 17:30:37 2007 +0000 +++ b/main/odepkg/inst/ode54.m Sat Jan 20 17:36:37 2007 +0000 @@ -145,6 +145,8 @@ if (isempty (vodeoptions.MaxStep) == true) vodeoptions.MaxStep = abs (vslot(1,1) - vslot(1,length (vslot))) / 10; end + %# Implementation of the option Events has been finished. This option + %# can be set by the user to another value than default value. if (isequal (vodeoptions.Events, vodetemp.Events) == false) vhaveeventfunction = true; %# default value is [] else, vhaveeventfunction = false; end @@ -316,8 +318,7 @@ vretvalresult(vcntloop-1,:) = vevent{4}(end,:); vunhandledtermination = false; break; end - end - + end end %# If the error is acceptable ... %# Update the step size for the next integration step @@ -340,7 +341,7 @@ vmsg = sprintf (['Solving has not been successful. The iterative', ... ' integration loop exited at time t = %f before endpoint at', ... ' tend = %f was reached. This happened because the iterative', ... - ' integration loop does not find a valid soultion at this time', ... + ' integration loop does not find a valid solution at this time', ... ' stamp. Try to reduce the value of "InitialStep" and/or', ... ' "MaxStep" with the command "odeset".\n'], vtimestamp, vtimestop); error (vmsg);
--- a/main/odepkg/inst/ode78.m Sat Jan 20 17:30:37 2007 +0000 +++ b/main/odepkg/inst/ode78.m Sat Jan 20 17:36:37 2007 +0000 @@ -361,7 +361,7 @@ vmsg = sprintf (['Solving has not been successful. The iterative', ... ' integration loop exited at time t = %f before endpoint at', ... ' tend = %f was reached. This happened because the iterative', ... - ' integration loop does not find a valid soultion at this time', ... + ' integration loop does not find a valid solution at this time', ... ' stamp. Try to reduce the value of "InitialStep" and/or', ... ' "MaxStep" with the command "odeset".\n'], vtimestamp, vtimestop); error (vmsg);