Создайте или измените структуру опций дифференциальных уравнений с запаздывающим аргументом
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