Все алгоритмы |
Algorithm | Выберите между 'trust-region-dogleg' (значение по умолчанию), 'trust-region' , и 'levenberg-marquardt' . Algorithm опция задает настройку который алгоритм использовать. Это - только настройка, потому что для алгоритма доверительной области, нелинейная система уравнений не может быть недоопределенной; то есть, количество уравнений (число элементов F возвращенный fun ) должно быть, по крайней мере, столько же сколько длина x . Точно так же для алгоритма доверительного резкого искривления области, количество уравнений должно совпасть с длиной x . fsolve использует алгоритм Levenberg-Marquardt, когда выбранный алгоритм недоступен. Для получения дополнительной информации о выборе алгоритма смотрите Выбор Algorithm.
Установить некоторое использование опций алгоритма optimset вместо optimoptions : Algorithm — Установите алгоритм на 'trust-region-reflective' вместо 'trust-region' .
InitDamping — Установите начальный параметр Levenberg-Marquardt λ установкой Algorithm к массиву ячеек, такому как {'levenberg-marquardt',.005} .
|
CheckGradients | Сравните предоставленные пользователями производные (градиенты цели или ограничений) к производным конечного дифференцирования. Выбором является true или false по умолчанию .
Для optimset , именем является DerivativeCheck и значениями является 'on' или 'off' . Смотрите текущие и устаревшие имена опции. |
Диагностика | Отобразите диагностическую информацию о функции, которая будет минимизирована или решена. Выбором является 'on' или 'off' по умолчанию . |
DiffMaxChange | Максимальное изменение в переменных для градиентов конечной разности (положительная скалярная величина). Значением по умолчанию является Inf . |
DiffMinChange | Минимальное изменение в переменных для градиентов конечной разности (положительная скалярная величина). Значением по умолчанию является 0 . |
Display | Level of display (см. Итеративное Отображение):
'off' или 'none' не отображает вывода.
'iter' отображает вывод в каждой итерации и дает выходное сообщение по умолчанию.
'iter-detailed' отображает вывод в каждой итерации и дает техническое выходное сообщение.
'final' (значение по умолчанию) отображает только окончательный вывод и дает выходное сообщение по умолчанию.
'final-detailed' отображения только окончательный результат, и дают техническое выходное сообщение.
|
FiniteDifferenceStepSize | Скалярный или векторный фактор размера шага для конечных разностей. Когда вы устанавливаете FiniteDifferenceStepSize к векторному v , прямые конечные разности delta delta = v.*sign′(x).*max(abs(x),TypicalX);
где sign′(x) = sign(x) кроме sign′(0) = 1 . Центральные конечные разностиdelta = v.*max(abs(x),TypicalX);
Скалярный FiniteDifferenceStepSize расширяется до вектора. Значением по умолчанию является sqrt(eps) для прямых конечных разностей и eps^(1/3) для центральных конечных разностей.
Для optimset , именем является FinDiffRelStep . Смотрите текущие и устаревшие имена опции. |
FiniteDifferenceType | Конечными разностями, используемыми, чтобы оценить градиенты, является любой 'forward' (значение по умолчанию) или 'central' (в центре). 'central' берет вдвое больше вычислений функции, но должен быть более точным. Алгоритм старается выполнить границы при оценке обоих типов конечных разностей. Так, например, это могло взять обратное, а не форвард, различие, чтобы не оценивать в точке вне границ.
Для optimset , именем является FinDiffType . Смотрите текущие и устаревшие имена опции. |
FunctionTolerance | Допуск завершения на значении функции, положительной скалярной величине. Значением по умолчанию является 1e-6 . Смотрите допуски и критерий остановки.
Для optimset , именем является TolFun . Смотрите текущие и устаревшие имена опции. |
FunValCheck | Проверяйте, допустимы ли значения целевой функции. 'on' отображает ошибку, когда целевая функция возвращает значение, которое является complex Inf , или NaN . Значение по умолчанию, 'off' , отображения никакая ошибка. |
MaxFunctionEvaluations | Максимальное количество позволенных вычислений функции, положительное целое число. Значением по умолчанию является 100*numberOfVariables . Смотрите допуски и критерий остановки и итерации и функциональные количества.
Для optimset , именем является MaxFunEvals . Смотрите текущие и устаревшие имена опции. |
MaxIterations | Максимальное количество позволенных итераций, положительное целое число. Значением по умолчанию является 400 . Смотрите допуски и критерий остановки и итерации и функциональные количества.
Для optimset , именем является MaxIter . Смотрите текущие и устаревшие имена опции. |
OptimalityTolerance | Допуск завершения на оптимальности первого порядка (положительная скалярная величина). Значением по умолчанию является 1e-6 . Смотрите меру оптимальности первого порядка. Внутренне, 'levenberg-marquardt' алгоритм использует допуск оптимальности (останавливающий критерий) 1e-4 времена FunctionTolerance и не использует OptimalityTolerance . |
OutputFcn | Задайте одну или несколько пользовательских функций, которые вызывает на каждой итерации оптимизационная функция. Передайте указатель на функцию или cell-массив указателей на функцию. Значение по умолчанию не ни один ([] ). Смотрите синтаксис выходной функции и функции построения графика. |
PlotFcn | Строит различные показатели прогресса, в то время как алгоритм выполняется; выберите из предопределенных графиков или запишите свое собственное. Передайте встроенное имя функции построения графика, указатель на функцию или массив ячеек встроенных имен функции построения графика или указателей на функцию. Для пользовательских функций построения графика передайте указатели на функцию. Значение по умолчанию не ни один ([] ):
'optimplotx' строит текущую точку.
'optimplotfunccount' строит функциональное количество.
'optimplotfval' строит значение функции.
'optimplotstepsize' строит размер шага.
'optimplotfirstorderopt' строит меру оптимальности первого порядка.
Пользовательские функции построения графика используют тот же синтаксис в качестве выходных функций. Смотрите Выходные функции для Optimization Toolbox™ и Синтаксис Функции построения графика и Выходную функцию. Для optimset , именем является PlotFcns . Смотрите текущие и устаревшие имена опции. |
SpecifyObjectiveGradient | Если true , fsolve использует пользовательский якобиан (заданный в fun ), или якобиевская информация (при использовании JacobianMultiplyFcn ), для целевой функции. Если false (значение по умолчанию), fsolve аппроксимирует якобиевские конечные разности использования.
Для optimset , именем является Jacobian и значениями является 'on' или 'off' . Смотрите текущие и устаревшие имена опции. |
StepTolerance | Допуск завершения на x , положительная скалярная величина. Значением по умолчанию является 1e-6 . Смотрите допуски и критерий остановки.
Для optimset , именем является TolX . Смотрите текущие и устаревшие имена опции. |
TypicalX | Типичный x значения. Число элементов в TypicalX равно числу элементов в x0 , начальная точка. Значением по умолчанию является ones(numberofvariables,1) . fsolve использование TypicalX для масштабирования конечных разностей для оценки градиента. trust-region-dogleg алгоритм использует TypicalX как диагональные термины масштабирующейся матрицы.
|
UseParallel | Когда true , fsolve оценочные градиенты параллельно. Отключите путем установки на значение по умолчанию, false . Смотрите параллельные вычисления. |
Алгоритм доверительной области |
JacobianMultiplyFcn | Функция умножения якобиана в виде указателя на функцию. Для крупномасштабных структурированных проблем эта функция вычисляет якобиевское матричное произведение J*Y , J'*Y , или J'*(J*Y) на самом деле не формируя J . Функция имеет форму где Jinfo содержит матрицу, использованную для расчета J*Y (или J'*Y , или J'*(J*Y) ). Первый аргумент Jinfo должен совпасть со вторым аргументом, возвращенным целевой функцией fun , например, в Y матрица, которая имеет одинаковое число строк, когда существуют размерности в проблеме. flag определяет который продукт вычислить:
В каждом случае, J не формируется явным образом. fsolve использование Jinfo вычислить предварительный формирователь. Смотрите Передающие Дополнительные Параметры для получения информации о том, как предоставить значения для любых дополнительных параметров jmfun потребности. Примечание 'SpecifyObjectiveGradient' должен быть установлен в true для fsolve передать Jinfo от fun к jmfun .
Смотрите Минимизацию с Плотным Структурированным Гессианом, Линейными Равенствами для подобного примера. Для optimset , именем является JacobMult . Смотрите текущие и устаревшие имена опции. |
JacobPattern | Шаблон разреженности якобиана для конечного дифференцирования. Установите JacobPattern(i,j) = 1 когда fun(i) зависит от x(j) . В противном случае установите JacobPattern(i,j) = 0 . Другими словами, JacobPattern(i,j) = 1 когда у вас может быть ∂fun(i) / ∂x(j) ≠ 0. Используйте JacobPattern когда это неудобно, чтобы вычислить якобиевский матричный J в fun , хотя можно определить (скажите контролем), когда fun(i) зависит от x(j) . fsolve может аппроксимировать J через разреженные конечные разности, когда вы даете JacobPattern . В худшем случае, если структура неизвестна, не устанавливают JacobPattern . Поведение по умолчанию состоит в том как будто JacobPattern плотная матрица из единиц. То fsolve вычисляет полное приближение конечной разности в каждой итерации. Это может быть очень дорого для больших проблем, таким образом, обычно лучше определить структуру разреженности. |
MaxPCGIter | Максимальное количество PCG (предобусловленный метод сопряженных градиентов) итерации, положительная скалярная величина. Значением по умолчанию является max(1,floor(numberOfVariables/2)) . Для получения дополнительной информации смотрите, что уравнение Решает Алгоритмы. |
PrecondBandWidth | Верхняя полоса пропускания предварительного формирователя для PCG, неотрицательного целого числа. PrecondBandWidth по умолчанию isinf , что означает, что прямая факторизация (Холесский) используется, а не методы сопряженных градиентов (CG). Прямая факторизация является в вычислительном отношении более дорогой, чем CG, но производит лучший качественный шаг к решению. Установите PrecondBandWidth к 0 для предварительного создания условий диагонали (верхняя полоса пропускания 0). Для некоторых проблем промежуточная полоса пропускания сокращает количество итераций PCG. |
SubproblemAlgorithm | Определяет, как шаг итерации вычисляется. Значение по умолчанию, 'factorization' , делает более медленный, но более точный шаг, чем 'cg' . См. алгоритм Доверительной области. |
TolPCG | Допуск завершения на итерации PCG, положительной скалярной величине. Значением по умолчанию является 0.1 . |
Алгоритм Levenberg-Marquardt |
InitDamping | Начальное значение параметра Levenberg-Marquardt, положительной скалярной величины. Значением по умолчанию является 1e-2 . Для получения дополнительной информации см. Метод Levenberg-Marquardt. |
ScaleProblem | 'jacobian' может иногда улучшать сходимость плохо масштабированной проблемы. Значением по умолчанию является 'none' .
|