Преобразовать функцию в выражение оптимизации
По возможности создайте целевые или нелинейные функции ограничения, используя поддерживаемые операции с переменными и выражениями оптимизации вместо fcn2optimexpr. Это имеет следующие преимущества:
solve включает градиенты, рассчитанные с помощью автоматического дифференцирования. См. раздел Влияние автоматического дифференцирования в оптимизации на основе проблем.
solve имеет более широкий выбор доступных решателей. При использовании fcn2optimexpr, solve использует только fmincon или fminunc.
Дополнительные сведения см. в разделах Преобразование нелинейной функции в выражение оптимизации и Поддерживаемые операции с переменными и выражениями оптимизации.
Поиск выходного размера каждого возвращаемого выражения, если не указан OutputSize, fcn2optimexpr вычисляет функцию в следующей точке для каждого элемента переменных задачи.
| Переменные характеристики | Точка оценки |
|---|---|
Конечная верхняя граница ub и конечная нижняя граница lb | (lb + ub)/2 + ((ub - lb)/2)*eps |
| Конечная нижняя граница и без верхней границы | lb + max(1,abs(lb))*eps |
| Конечная верхняя граница и без нижней границы | ub - max(1,abs(ub))*eps |
| Без границ | 1 + eps |
| Переменная указана как целое число | floor точки, указанной ранее |
Точка оценки может привести к ошибке в оценке функции. Чтобы избежать этой ошибки, укажите 'OutputSize'.