| Все алгоритмы |
Algorithm | Выберите между 'trust-region-dogleg' (по умолчанию), 'trust-region', и 'levenberg-marquardt'. Algorithm задает настройку для используемого алгоритма. Это только предпочтение, потому что для алгоритма доверительной области нелинейная система уравнений не может быть недооценена; то есть количество уравнений (количество элементов F возвращено fun) должно быть не менее длины x. Аналогично, для алгоритма trust-region-dogleg число уравнений должно быть равно длине x. fsolve использует алгоритм Левенберга-Марквардта, когда выбранный алгоритм недоступен. Дополнительные сведения о выборе алгоритма см. в разделе Выбор алгоритма. Установка некоторых параметров алгоритма с помощью optimset вместо optimoptions: Algorithm - Установить алгоритм в 'trust-region-reflective' вместо 'trust-region'.
InitDamping - установка начального параметра Левенберга-Марквардта λ путем установки Algorithm к массиву ячеек, такому как {'levenberg-marquardt',.005}.
|
CheckGradients | Сравнение предоставленных пользователем производных (градиентов цели или ограничений) с производными с конечной разницей. Выбор: true или значение по умолчанию false.
Для optimset, имя: DerivativeCheck и значения 'on' или 'off'. См. раздел Имена текущих и устаревших опций. |
| Диагностика | Отображение диагностической информации о функции, которая должна быть свернута или решена. Выбор: 'on' или значение по умолчанию 'off'. |
| DiffMaxChange | Максимальное изменение переменных для градиентов конечных разностей (положительный скаляр). Значение по умолчанию: Inf. |
| DiffMinChange | Минимальное изменение переменных для градиентов конечных разностей (положительный скаляр). Значение по умолчанию: 0. |
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 | Укажите одну или несколько пользовательских функций, вызываемых функцией оптимизации в каждой итерации. Передача дескриптора функции или массива ячеек дескрипторов функции. Значение по умолчанию - нет ([]). См. раздел Функция вывода и синтаксис функции печати. |
PlotFcn | Отображает различные показатели прогресса во время выполнения алгоритма; выбрать из предопределенных графиков или написать свой собственный. Передача имени встроенной функции графика, дескриптора функции или массива ячеек имен встроенных функций графика или дескрипторов функций. Для пользовательских функций печати передайте дескрипторы функций. Значение по умолчанию - нет ([]):
'optimplotx' строит график текущей точки.
'optimplotfunccount' строит график подсчета функций.
'optimplotfval' строит график значения функции.
'optimplotstepsize' строит график размера шага.
'optimplotfirstorderopt' строит график измерения оптимальности первого порядка.
Пользовательские функции печати используют тот же синтаксис, что и функции вывода. См. раздел Функции вывода для оптимизации Toolbox™ и Функция вывода и синтаксис функции печати. Для optimset, имя: PlotFcns. См. раздел Имена текущих и устаревших опций. |
SpecifyObjectiveGradient | Если true, fsolve использует определяемый пользователем Jacobian (определяется в 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 является Inf, что означает использование прямой факторизации (Cholesky), а не сопряженных градиентов (CG). Прямая факторизация в вычислительном отношении дороже, чем CG, но обеспечивает более качественный шаг к решению. Набор PrecondBandWidth кому 0 для предварительного кондиционирования по диагонали (верхняя полоса пропускания 0). Для некоторых проблем промежуточная полоса пропускания уменьшает количество итераций PCG. |
SubproblemAlgorithm | Определяет способ вычисления шага итерации. Значение по умолчанию, 'factorization', делает более медленный, но более точный шаг, чем 'cg'. См. раздел Алгоритм области доверия. |
| TolPCG | Допуск окончания для итерации PCG, положительный скаляр. Значение по умолчанию: 0.1. |
| Алгоритм Левенберга-Марквардта |
| InitDamping | Начальное значение параметра Левенберга-Марквардта, положительный скаляр. По умолчанию: 1e-2. Дополнительные сведения см. в разделе Метод Левенберга-Марквардта. |
| ScaleProblem | 'jacobian' иногда может улучшить сходимость плохо масштабированной проблемы. Значение по умолчанию: 'none'.
|