Fmincon works for MATLAB version 2020a but not for version 2021b
5 次查看(过去 30 天)
显示 更早的评论
Hello!
I have a convex function (i.e., energy) that I would like to minimize on a single variable named x. My code looks like this:
x = optimvar('x', 'LowerBound', 0); %Definition of the variable with constraints
prob = optimproblem; %Definition of the problem
prob.Objective = energyfun; %Set the objective to minimize energy
x0.x = 10; % Initial point of the optimization variable
sol = solve(prob, x0);
I am getting the following error: Gradient at initial point contains Inf, NaN, or a complex values. Fmincon cannot continue.
But the most interesting part is that I have tried my code on different computers with MATLAB versions 2021b and 2020a. Basically, it works on the 2020a version but not on 2021b.
I have checked the optimoptions of the fmincon solver in both versions and they are exactly the same. Am I missing something or did something changed between these two versions?
Thank you all in advance!
4 个评论
回答(1 个)
Kumar Pallav
2021-11-28
Hi,
You could set breakpoints for debugging at the command line:
dbstop if naninf
and run your program. If it stops in the debugger then you encountered a nan or inf and you will be able to explore the values in the debugger to see what is happening.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!