Создайте или измените структуру опций краевой задачи
options = bvpset('name1',value1,'name2',value2,...)
options = bvpset(oldopts,'name1',value1,...)
options = bvpset(oldopts,newopts)
bvpset
options = bvpset('name1',value1,'name2',value2,...)
создает структуру options
, что можно предоставить к решателю для краевой задачи bvp4c
, в котором именованные свойства имеют заданные значения. Любые незаданные свойства сохраняют свои значения по умолчанию. Для всех свойств достаточно ввести только начальные символы, которые однозначно определяют свойство. bvpset
игнорирует регистр для имен свойства.
options = bvpset(oldopts,'name1',value1,...)
изменяет существующую структуру опций oldopts
. Это перезаписывает любые значения в oldopts
, которые заданы с помощью пар имя/значение, и возвращает измененную структуру как выходной аргумент.
options = bvpset(oldopts,newopts)
комбинирует существующую структуру опций oldopts
с новой структурой опций newopts
. Любой набор значений в newopts
перезаписывает соответствующие значения в oldopts
.
bvpset
без входных параметров отображает все имена свойства и их возможные значения, указывая на значения по умолчанию с фигурными скобками {}
.
Можно использовать функциональный bvpget
, чтобы запросить структуру options
для значения определенного свойства.
bvpset
позволяет вам задать свойства для решателя для краевой задачи bvp4c
. Существует несколько категорий свойств, которые можно установить:
Поскольку bvp4c
использует формулу словосочетания, числовое решение основано на сетке точек, в которых удовлетворены уравнения словосочетания. Поймайте в сети выбор, и контроль ошибок основаны на невязке этого решения, такого, что вычисленное решение S (x) является точным решением встревоженной проблемы S ′ (x) = f (x, S (x)) + res (x). На каждом подынтервале mesh норма невязки в i
th компонент решения, res(i)
, оценивается и требуется, чтобы быть меньше чем или равной допуску. Этот допуск является функцией относительных и абсолютных допусков, RelTol
и AbsTol
, заданного пользователем.
Следующая таблица описывает ошибочные свойства допуска.
Ошибочные свойства допуска BVP
Следующая таблица описывает свойство векторизации BVP. Векторизация функции ОДУ, используемой bvp4c
, отличается от векторизации, используемой решателями ОДУ:
Для bvp4c
функция ОДУ должна быть векторизована относительно первого аргумента, а также второго, так, чтобы F([x1 x2 ...],[y1 y2 ...])
возвратил [F(x1,y1) F(x2,y2)...]
.
bvp4c
извлекает выгоду из векторизации, даже когда аналитические Якобианы обеспечиваются. Для жестких решателей ОДУ проигнорирована векторизация, когда аналитические Якобианы используются.
Свойства векторизации
Свойство | Значение | Описание |
---|---|---|
|
| Установите на сообщить С обозначением MATLAB® массивов это обычно - легкий вопрос, чтобы векторизовать функцию ОДУ. В примере function dydx = shockODE(x,y,e) pix = pi*x; dydx = [ y(2,:)... -x/e.*y(2,:)-pi^2*cos(pix)- pix/e.*sin(pix)]; |
По умолчанию решатель bvp4c
аппроксимирует все частные производные с конечными разностями. bvp4c
может быть более эффективным, если вы обеспечиваете аналитические частные производные ∂f / ∂ y дифференциальных уравнений и аналитические частные производные, ∂bc / ∂ ya и ∂bc / ∂ yb, граничных условий. Если проблема включает неизвестные параметры, необходимо также обеспечить частные производные, ∂f / ∂ p и ∂bc / ∂ p, относительно параметров.
Следующая таблица описывает аналитические свойства частных производных.
BVP аналитические свойства частной производной
Свойство | Значение | Описание |
---|---|---|
| Указатель на функцию | Указатель на функцию, который вычисляет аналитические частные производные f (x, y). При решении y ′ = f (x, y), устанавливает это свойство на |
| Указатель на функцию | Указатель на функцию, который вычисляет аналитические частные производные bc (ya, yb). Для граничных условий bc (ya, yb), устанавливает это свойство на |
bvp4c
может решить сингулярные проблемы формы
изложенный на интервале [0, b], где b> 0. Для таких проблем задайте постоянный матричный S как значение SingularTerm
. Для уравнений этой формы odefun
оценивает только f (x, y, p) термин, где p представляет неизвестные параметры, если таковые имеются.
Сингулярное свойство BVP
Свойство | Значение | Описание |
---|---|---|
| Постоянная матрица | Сингулярный термин сингулярного BVPs. Установите на постоянный матричный S для уравнений формы изложенный на интервале [0, b], где b> 0. |
bvp4c
решает систему алгебраических уравнений, чтобы определить числовое решение BVP в каждой из точек mesh. Размер алгебраической системы зависит от количества дифференциальных уравнений (n
) и количество точек mesh в текущей mesh (N
). Когда позволенное количество точек mesh исчерпывается, остановки вычисления, bvp4c
отображает предупреждающее сообщение и возвращает решение, которое это нашло до сих пор. Это решение не удовлетворяет ошибочный допуск, но это может обеспечить превосходное исходное предположение для вычислений, перезапущенных с расслабленными ошибочными допусками или увеличенным значением NMax
.
Следующая таблица описывает свойство размера mesh.
Свойство размера Mesh BVP
Свойство | Значение | Описание |
---|---|---|
| положительное целое число { | Максимальное количество точек mesh позволило при решении BVP, где |
Свойство Stats
позволяет вам просмотреть статистику решения.
Следующая таблица описывает свойство статистики решения.
Свойство статистической величины решения BVP
Свойство | Значение | Описание |
---|---|---|
|
| Задает, отображены ли статистические данные о вычислениях. Если свойством
|
Чтобы создать структуру опций, которая изменяет допуск относительной погрешности bvp4c
от значения по умолчанию 1e-3
к 1e-4
, войти
options = bvpset('RelTol',1e-4);
Чтобы восстановить значение 'RelTol'
от options
, войти
bvpget(options,'RelTol') ans = 1.0000e-004