Создайте или измените структуру опций дифференциальных уравнений с запаздывающим аргументом
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
. 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
, местоположения известных разрывов. Для получения дополнительной информации смотрите Разрывы в DDEs.
Следующая таблица описывает свойства разрыва.
Свойства разрыва DDE
Свойство | Значение | Описание |
---|---|---|
| Вектор | Местоположение разрывов. t точек, где история или решение могут иметь разрыв скачка в производной младшего разряда. Это применяется только к |
| Вектор | Начальное значение решения. По умолчанию начальное значение решения является значением |
Создать структуру опций, которая изменяет допуск относительной погрешности решателя от значения по умолчанию 1e-3
к 1e-4
, войти
options = ddeset('RelTol',1e-4);
Восстановить значение 'RelTol'
от options
, войти
ddeget(options,'RelTol') ans = 1.0000e-004