| Вопрос или проблема | Ответ |
|---|---|
Как выбрать пороговые значения ошибок |
Грубо говоря, это означает, что вы хотите |
Мне нужны ответы, которые соответствуют точности компьютера. Почему я не могу просто установить | Можно приблизиться к точности станка, но не так близко. Решатели не разрешают |
Как сообщить решателю, что я не заинтересован в получении точного ответа для одного из компонентов решения? | Можно увеличить абсолютный допуск ошибки |
| Вопрос или проблема | Ответ |
|---|---|
Насколько большую проблему можно решить с помощью комплекта ODE? | Основными ограничениями являются память и время. На каждом временном шаге решатели для нетипичных задач распределяют векторы длины Если проблема не в состоянии, или если вы используете |
Я решаю очень большую систему, но беспокоюсь только о нескольких компонентах | Да. |
Какова начальная стоимость интеграции и как ее можно уменьшить? | Наибольшая стоимость запуска возникает, когда решатель пытается найти размер шага, соответствующий масштабу проблемы. Если вы знаете соответствующий размер шага, используйте |
Размер первого шага, который занимает интегратор, слишком велик, и он пропускает важное поведение. | Можно указать размер первого шага с помощью |
| Вопрос или проблема | Ответ |
|---|---|
Решение не похоже на то, что я ожидал. | Если ваши ожидания верны, уменьшите допуски ошибок по сравнению с их значениями по умолчанию. Меньший относительный допуск ошибок необходим для точного решения проблем, интегрированных в «длинные» интервалы, а также проблем, которые умеренно нестабильны. Проверьте наличие компонентов решения, которые в течение некоторого времени остаются меньше абсолютного допуска ошибок. Если да, то в этих компонентах не требуется никаких правильных цифр. Это может быть приемлемым для этих компонентов, но неспособность точно вычислить их может ухудшить точность других компонентов, которые от них зависят. |
Мои сюжеты недостаточно гладкие. | Увеличение значения |
Я строю график решения по мере его вычисления и выглядит хорошо, но код застревает в какой-то момент. | Сначала убедитесь, что функция ОДУ является гладкой вблизи точки, где код застревает. Если это не так, то решатель должен предпринять небольшие шаги, чтобы справиться с этим. Это может помочь разбить интервал интеграции на части, по которым функция ОДУ является гладкой. Если функция является плавной и код делает очень небольшие шаги, вы, вероятно, пытаетесь решить жесткую проблему с решателем, не предназначенным для этой цели. Переключиться на использование одного из жестких решателей |
Что если у меня будет окончательное, а не начальное значение? | Все решатели набора ODE позволяют решать обратное или поступательное во времени. Синтаксис решателей: |
Моя интеграция идет очень медленно, используя слишком много временных шагов. | Сначала проверьте, что Если функция ОДУ не изменяется заметно на Наконец, убедитесь, что функция ОДУ написана эффективным образом. Решатели много раз оценивают производные в функции ОДУ. Стоимость численного интегрирования критически зависит от затрат на оценку функции ОДУ. Вместо повторного вычисления сложных постоянных параметров при каждой оценке сохраните их в глобальных переменных или рассчитайте один раз и передайте вложенным функциям. |
Я знаю, что решение претерпевает радикальные изменения во время | Если вы знаете, что происходит резкое изменение в то время Если дифференциальное уравнение имеет периодические коэффициенты или решения, убедитесь, что решатель не выполняет шаг по периодам, ограничивая максимальный размер шага длиной периода. |
Могут ли решатели обрабатывать дифференциальные уравнения в частных производных (PDE), которые были дискретизированы методом прямых? | Да, потому что дискретизация создает систему ОДУ. В зависимости от дискретизации может существовать форма, включающая матрицы масс, которую обеспечивают решатели ОДУ. Часто система жесткая. Это следует ожидать, если PDE является параболическим, или когда есть явления, которые происходят в очень разных временных масштабах, таких как химическая реакция в потоке жидкости. В таких случаях используют один из четырех жестких решателей. Если существует много уравнений, используйте Если система не жесткая, или не очень жесткая, то Можно решать параболическо-эллиптические дифференциальные уравнения в частных производных в 1-D непосредственно с помощью решателя MATLAB ® PDE |
Можно ли интегрировать набор выборочных данных? | Не напрямую. Вместо этого представляем данные как функцию интерполяцией или какой-либо другой схемой подгонки данных. Плавность этой функции имеет решающее значение. Кусочный полином, такой как сплайн, может выглядеть гладким для глаза, но шероховатым для решателя; решатель выполняет небольшие шаги, когда производные посадки имеют прыжки. Используйте гладкую функцию для представления данных или один из решателей более низкого порядка ( |
deval | odeget | odeset | odextend