Создайте или измените структуру опций дифференциальных уравнений с задержкой
options = ddeset('name1',value1,'name2',value2,...)
options = ddeset(oldopts,'name1',value1,...)
options = ddeset(oldopts,newopts)
ddeset
options = ddeset('name1',value1,'name2',value2,...)
создает структуру опций интегратора options
в котором именованные свойства имеют заданные значения. Все неопределенные свойства имеют значения по умолчанию. Достаточно ввести только начальные символы, которые уникально идентифицируют свойство. ddeset
игнорирует регистр для имен свойства.
options = ddeset(oldopts,'name1',value1,...)
изменяет существующую структуру опций oldopts
. Это перезаписывает любые значения в oldopts
которые заданы с помощью пар имя/значение и возвращают измененную структуру в качестве выходного аргумента.
options = ddeset(oldopts,newopts)
объединяет существующую структуру опций oldopts
с новой структурой опций newopts
. Любые значения, установленные в newopts
перезаписать соответствующие значения в oldopts
.
ddeset
без входных параметров отображаются все имена свойства и их возможные значения, что указывает на значения по умолчанию с помощью скобок {}
.
Вы можете использовать функцию ddeget
чтобы запросить options
структура для значения определенного свойства.
В следующих разделах описываются свойства, которые можно задать с помощью ddeset
. Существует несколько категорий свойств:
На каждом шаге решатели DDE оценивают ошибку e
. The dde23
функция оценивает локальную ошибку усечения, а другие решатели оценивают невязку. В любом случае эта ошибка должна быть меньше или равной допустимой ошибке, которая является функцией заданной относительной погрешности RelTol
, и заданная абсолютная погрешность, AbsTol
.
|e(i)|*max(RelTol*abs(y(i)),AbsTol(i))
Для рутинных задач решатели обеспечивают точность, примерно эквивалентную точности, которую вы запрашиваете. Они обеспечивают меньшую точность для задач, интегрированных на «длинных» интервалах и задачах, которые умеренно нестабильны. Сложные задачи могут потребовать более жестких допусков, чем значения по умолчанию. Для относительной точности настройте RelTol
. Для абсолютного допуска ошибок важно масштабирование компонентов решения: если |y|
несколько меньше AbsTol
решатель не ограничен получением каких-либо правильных цифр в y
. Возможно, вам придется решить проблему более одного раза, чтобы обнаружить шкалу компонентов решения.
Грубо говоря, это значит, что ты хочешь RelTol
правильные цифры во всех компонентах решения, кроме тех, которые меньше порогов AbsTol(i)
. Даже если вы не заинтересованы в компоненте y(i)
когда он маленький, вам, вероятно, придется задать AbsTol(i)
достаточно маленькие, чтобы получить некоторые правильные цифры в y(i)
чтобы можно было точно вычислить более интересные компоненты.
В следующей таблице описаны свойства управления ошибками.
Свойства управления ошибками DDE
Можно использовать выходные свойства решателя, чтобы управлять выходом, который генерируют решатели.
Выходные свойства решателя DDE
Свойство | Значение | Описание |
---|---|---|
| Указатель на функцию { | Выходная функция является функцией, которую решатель вызывает после каждого успешного шага интегрирования. Чтобы задать выходную функцию, задайте options = ddeset('OutputFcn',... @myfun) устанавливает ' Выходная функция должна иметь вид status = myfun(t,y,flag) Параметризация функций объясняет, как обеспечить дополнительные параметры для Решатель вызывает указанную выходную функцию со следующими флагами. Обратите внимание, что синтаксис вызова отличается флагом. Функция должна реагировать должным образом:
Можно использовать эти выходные функции общего назначения или отредактировать их для создания собственных. Тип
|
| Вектор индексов | Вектор индексов, определяющий, какие компоненты вектора решения решатели передают в выходную функцию. Для примера, если вы хотите использовать options = ddeset... ('OutputFcn',@odeplot,... 'OutputSel',[1 3]); По умолчанию решатель передает все компоненты решения в выходную функцию. |
|
| Определяет, должен ли решатель отображать статистику о своих расчетах. По умолчанию
|
Свойства размера шага позволяют вам задать размер первого шага, который пытается решатель, потенциально помогая ему лучше распознать масштаб задачи. В сложение можно задать ограничения на размеры последующих временных шагов.
В следующей таблице описываются свойства размера шага.
Свойства размера шага DDE
Свойство | Значение | Описание |
---|---|---|
| Положительная скалярная величина | Предлагаемый начальный размер шага. |
| Положительная скалярная величина | Верхняя граница размера шага решателя. Если дифференциальное уравнение имеет периодические коэффициенты или решения, может быть хорошей идеей задать
|
В некоторых задачах DDE важны времена конкретных событий. Решая задачу, решатели могут обнаруживать такие события путем определения местоположения переходов к, от или через нули определяемых пользователем функций.
Следующая таблица описывает Events
свойство.
Свойство событий DDE
Свойство | Значение | Описание |
---|---|---|
| Указатель на функцию | Указатель на функцию, который включает одну или несколько функций события. Для [value,isterminal,direction] = events(t,y,YDEL) Для [value,isterminal,direction] = events(t,y,YDEL,YPDEL) Выходные аргументы,
Для примеров, которые используют функцию события во время решения задач обыкновенного дифференциального уравнения, смотрите Расположение события ОДУ. |
Функции решателя могут решить задачи с разрывами в истории или в коэффициентах уравнений. Следующие свойства позволяют вам предоставить этим решателям другое начальное значение, и, для dde23
, местоположения известных разрывов. Для получения дополнительной информации см. Раздел «Разрывы в DDE».
Следующая таблица описывает свойства разрыва.
Свойства разрыва DDE
Свойство | Значение | Описание |
---|---|---|
| Вектор | Расположение разрывов. Точки t, где история или решение могут иметь разрыв перехода в производной низкого порядка. Это относится только к |
| Вектор | Начальное значение решения. По умолчанию начальное значение решения является значением, возвращаемым |
Чтобы создать структуру опций, которая изменяет относительную погрешность отклонение решателя от значения по умолчанию 1e-3
на 1e-4
, введите
options = ddeset('RelTol',1e-4);
Чтобы восстановить значение 'RelTol'
от options
, введите
ddeget(options,'RelTol') ans = 1.0000e-004