求解非线性方程组在MATLAB中:exitflag = 1但constrviolation = 3.312e + 06

时间:2018-11-27 15:39:39

标签: matlab solver nonlinear-optimization

我正在尝试使用fmincon在MATLAB中求解非线性方程组。

我创建了一个不同起点的网格。对于其中之一,我从fmincon处获得了一个带有exitflag = 1的“解决方案”,这意味着

  

“一阶最优度量小于   options.OptimalityTolerance和最大约束违反较少   比options.ConstraintTolerance。”

但是,如果我在“解决方案”中评估系统的方程式,只要我得到其中一个等于3.312e + 06!显然高于约束公差。

我无法创建mcve,并且由于太长而无法在此处报告代码。

我希望这是别人发生的事情。或有人可以尝试提示在哪里解决该问题。

为清楚起见,我报告输出:

output = 

  struct with fields:

         iterations: 15
          funcCount: 48
    constrviolation: 3.3126e+06
           stepsize: 0.014892
          algorithm: 'interior-point'
      firstorderopt: 0
       cgiterations: 0
            message: 'Local minimum found that satisfies the constraints.…'

0 个答案:

没有答案