Функции > Решение и оптимизация > Выбор алгоритма решения
Выбор алгоритма решения
Можно выбрать алгоритм решения для следующих функций: Find, Minerr, Minimize, Maximize, Pdesolve, Odesolve, numol, genfit и polyroots, а также для определенных интегралов.
Чтобы просмотреть алгоритм, щелкните правой кнопкой мыши имя функции или оператор интеграла.
Чтобы изменить алгоритм решения, выберите алгоритм решения из списка.
Выбор алгоритма для определенных интегралов 
Ромберг (Romberg) - применяется для большинства интегралов. Использует трапецеидальные аппроксимации на четном числе подинтервалов, а затем суммирует площади трапеций и сравнивает последовательные приближенные значения.
Адаптация (Adaptive) - применяется для функций, которые быстро изменяются на протяжении интервала интегрирования. Также называется методом адаптивной квадратуры.
Бесконечный предел (Infinite Limit) - применяется для интегралов, где один или оба предела являются бесконечными. Интегрируемая функция должна быть действительной.
Сингулярная конечная точка (Singular Endpoint) - применяется для интегралов с сингулярностью или бесконечностью на одном или обоих пределах интегрирования. Также называется расширяемым методом Ромберга.
Дополнительные сведения
Выбор алгоритма доступен только для определенных интегралов.
Если хотя бы один из пределов интеграла больше абсолютного значения 10^307 или имеет бесконечное значение, Автовыбор (Auto Select) в качестве алгоритма решения использует Бесконечный предел (Infinite Limit). В других случаях используется Адаптация (Adaptive).
Выбор алгоритма для функций Find, Minerr, Minimize и Maximize 
Для функций Find, Minerr, Minimize и Maximize алгоритмом по умолчанию, используемым с опцией Автовыбор (Auto Select), является метод Нелинейная: Левенберг - Марквардт (Nonlinear: Levenberg Marquardt).
Линейная (Linear) - применяется, когда задача имеет линейную структуру, а именно целевые функции со всеми ограничениями. Этот алгоритм обеспечивает быстрые и точные результаты.
Нелинейная: Левенберг - Марквардт (Nonlinear: Levenberg Marquardt) - пытается найти нули ошибок в ограничениях. Если нули не найдены, метод минимизирует сумму квадратов ошибок в ограничениях.
Нелинейная: сопряженные градиенты (Nonlinear: Conjugate Gradient) - выполняет факторизацию матрицы проекции и применяет метод сопряженного градиента для приближенной минимизации квадратичной модели задачи о блуждании в области с экранами.
Нелинейная: последовательное квадратичное программирование (SQP) (Nonlinear: SQP) - этот метод активного набора решает последовательность подзадач квадратичного программирования для поиска решения.
Нелинейная: внутренняя точка (Nonlinear: Interior Point) - этот метод заменяет задачу нелинейного программирования серией подзадач о блуждании, управляемых параметром барьера.
Нелинейная: активный набор (Nonlinear: Active Set) - методы активного набора решают последовательность подзадач на основе квадратичной модели исходной задачи.
Устранение неполадок
Попробуйте другой метод. Некоторые методы могут работать лучше или хуже других для задач, которые вы пытаетесь решить.
Попробуйте другое начальное приближение или добавьте ограничение в виде неравенства. Для комплексного решения укажите комплексное начальное приближение.
Используйте Minerr вместо Find, чтобы получить приближенное решение.
Попробуйте использовать другое значение TOL или CTOL.
Для систем с несколькими решениями возвращаемое решение зависит от начальных приближений. Можно добавить неравенства, чтобы заставить решатель искать другое решение.
Выбор алгоритма для функций Pdesolve и numol 
Для функций Pdesolve и numol по умолчанию используется алгоритм решения Рекурсивные разности в 5 точках (Recursive 5-Point Differences). Все алгоритмы решаются с помощью метода Radau.
Полином (Polynomial) - использует полиномиальные аппроксимации пространственных производных первого и второго порядка, чтобы свести систему PDE к системе ODE с помощью переменной time.
Центральные различия (Central Differences) - использует аппроксимации центральных разностей пространственных производных первого порядка с рекурсивным применением пространственных производных второго порядка, чтобы свести систему PDE к системе ODE с помощью переменной time.
Различия по 5 точкам (5-Point Differences) - использует аппроксимации 5-точечных разностей пространственных производных первого порядка с отдельной аппроксимацией пространственных производных второго порядка, чтобы привести систему PDE к системе ODE с помощью переменной time.
Рекурсивные разности в 5 точках (Recursive 5-Point Differences) - использует аппроксимации 5-точечных разностей пространственных производных первого порядка с рекурсивным применением для пространственных производных второго порядка, чтобы привести систему PDE к системе ODE с помощью переменной time.
Выбор алгоритма для Odesolve 
Adams/BDF (по умолчанию) - для нежестких систем Odesolve вызывает решатель Adams, который использует методы Адамса - Башфорта. Если функция Odesolve обнаруживает, что система ODE является жесткой, он переключается на решатель BDF (формула обратного дифференцирования).
Фиксированный (Fixed) - вызывает решатель rkfixed, использующий метод Рунге - Кутты с фиксированным шагом.
Адаптация (Adaptive) - вызывает решатель Rkadapt, использующий метод Рунге - Кутты с адаптивным размером шага.
Радо (Radau) - для жестких систем или систем, имеющих алгебраические ограничения, Odesolve вызывает решатель Radau.
Выбор алгоритма для genfit 
Оптимизированный метод Левенберга - Марквардта (Optimized Levenberg Marquardt) (по умолчанию) - эта оптимизированная версия метода Левенберг - Марквардт (Levenberg-Marquardt) для минимизации часто работает быстрее; она менее чувствительна к встроенным начальным приближениям и более чувствительна к ошибкам в поставляемых алгебраических производных.
Левенберг - Марквардт (Levenberg-Marquardt) - этот метод минимизации используется для решения нелинейных задач наименьших квадратов. Этот метод должен использоваться с функцией genfit для регулярных функций и точных начальных приближений.
Выбор алгоритма для polyroots 
Лагерр (LaGuerre) (по умолчанию) - этот итеративный метод ищет решения в комплексной плоскости.
Сопровождающая матрица (Companion Matrix) - этот метод преобразует уравнения к задаче на собственные значения.
Было ли это полезно?