When using ode45, have Error using odeget Unrecognized property name 'NonNegative'. See ODESET for possibilities.
21 views (last 30 days)
Show older comments
Ying Liu
on 11 Apr 2023
Commented: Simon Neuroscience
on 20 Jun 2023
I was using ode45 with 'options' defined as:
options = odeset('RelTol',1e-10,'AbsTol',1e-10);
[t1,y1] = ode45(@(t,y)disc_dy(t,y,delta,g,C,N,F,H),tspan,y0,options);
When tried to run the code above, errors pop up as follows:
Error using odeget
Unrecognized property name 'NonNegative'. See ODESET for possibilities.
Error in ode45 (line 158)
idxNonNegative = odeget(options,'NonNegative',[]);
Error in simulation (line 122)
[~,y1] = ode45(@(t,y)disc_dy(t,y,delta,g,C,N,F,H),tspan,y0,options);
These codes worked well in ver. 2021b. Recently, I upgraded my MATLAB from R2021b to R2023a. And it seems strange since I didn't define 'NonNegative' in my options. Would the upgrade be the reason why I can't run them? Thanks a lot in advance.
4 Comments
Walter Roberson
on 11 Apr 2023
Edited: Walter Roberson
on 11 Apr 2023
Could you verify that you have the Optimization Toolbox installed and licensed?
Also what shows up for
which -all odeset
Accepted Answer
Walter Roberson
on 11 Apr 2023
You can use pathtool() to move MatCont7p3 further down in your path.
This is likely to interfere with running part of MatCont7p3.. but perhaps you would be okay.
22 Comments
Steven Lord
on 23 May 2023
Is there a reason you need to have your own version of odeget.m rather than using the one included with MATLAB? Could the solution be to delete the odeget.m in the Continuer directory rather than updating it? Having your own copy that shadows the one in MATLAB means that you're likely going to have this type of conflict whenever we update the odeget function in MATLAB and that you would have to update it to get any benefit of bug fixes or improvements to the function in MATLAB.
Bowen
on 23 May 2023
I deleted the odeset.m in subfile of Matcont. But it reported a bug when I run a demo model. I have no idea of how to fix. Probabaly, I do not find the right solution.
More Answers (1)
Simon Neuroscience
on 19 Jun 2023
I have the same error: Unrecognized property name 'NonNegative'. See ODESET for possibilities.
I am trying to use matcont on mac on R2023a Version of Matlab. Already installed Xcode.
The GUI opens normal, but everytime I am trying to Compute a ODE System it gets the error.
If I run which -all odeset I also get 2 path:
1) Code/Matlab/MatCont7p4/Continuer/odeset.m
2) /Applications/MATLAB_R2023a.app/toolbox/matlab/funfun/odeset.m
Does anybody know how to fix this problem?
2 Comments
Hil Meijer
on 20 Jun 2023
As I wrote above (as MatCont developer!), and probably the culprit of this problem, here is a quick fix: In the file MatCont7p3/Continuer/odeget.m, you can add a line (say at line 63, keeping alphabetical order) with the entry:
'NonNegative '
After that, on my machines, simulations again work.
Simon Neuroscience
on 20 Jun 2023
Thank you Hil Meijer, this seems to fix the problem!
Now Matcont works perfectly!
Great to get advice from a MatCont developer.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!