Решить систему нелинейных уравнений.в MATLAB: exitflag = 1, но constrviolation = 3.312e + 06 - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь решить систему нелинейных уравнений в MATLAB, используя fmincon.

Я создаю сетку с другой начальной точкой.Для одного из них я получаю «решение» от 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.…'
...