Создайте или измените структуру опций краевого значения задачи
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
использует формулу коллокации, численное решение основано на mesh точек, в которых выполняются уравнения коллокации. Выбор сетки и управление ошибками основаны на невязке этого решения, таким образом, что вычисленное решение S (x) является точным решением возмущенной задачи S ′ (x) = f (x, S (x)) + res (x). На каждом подынтервале mesh невязки в i
первый компонент решения, res(i)
, оценивается и должен быть меньше или равен допуску. Этот допуск является функцией относительных и абсолютных погрешностей, RelTol
и AbsTol
, заданный пользователем.
В следующей таблице описаны свойства допуска ошибок.
Свойства допуска ошибок BVP
Следующая таблица описывает свойство векторизации BVP. Векторизация функции ODE, используемой bvp4c
отличается от векторизации, используемой решателями ОДУ:
Для bvp4c
функция ОДУ должна быть векторизована относительно первого аргумента, а также второго аргумента, так что F([x1 x2 ...],[y1 y2 ...])
возвращает [F(x1,y1) F(x2,y2)...]
.
bvp4c
преимущества от векторизации, даже когда предоставляются аналитические якобианы. Для жестких решателей ОДУ векторизация игнорируется при использовании аналитических якобианов.
Свойства векторизации
Свойство | Значение | Описание |
---|---|---|
|
| Включите, чтобы сообщить С MATLAB® обозначение массива, обычно легко векторизировать функцию ODE. В 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
может быть более эффективным, если Вы обеспечиваете аналитические частные производные <reservedrangesplaceholder9> / <reservedrangesplaceholder8> дифференциальных уравнений и аналитические частные производные, <reservedrangesplaceholder7> / <reservedrangesplaceholder6> и <reservedrangesplaceholder5> / <reservedrangesplaceholder4>, граничных условий. Если проблема включает неизвестные параметры, Вы должны также обеспечить частные производные, <reservedrangesplaceholder3> / <reservedrangesplaceholder2> и <reservedrangesplaceholder1> / <reservedrangesplaceholder0>, относительно параметров.
Следующая таблица описывает аналитические свойства частных производных.
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 (N
). Когда допустимое количество точек сетки исчерпано, расчеты прекращаются bvp4c
отображает предупреждающее сообщение и возвращает найденное решение. Это решение не удовлетворяет допуску ошибки, но может предоставить отличное начальное предположение для расчетов, перезапущенных с ослабленными допусками ошибки или увеличенным значением NMax
.
В следующей таблице описано свойство mesh size.
Свойство размера Mesh BVP
Свойство | Значение | Описание |
---|---|---|
| положительное целое число { | Максимальное количество точек ячеек, допустимое при решении BVP, где |
The Stats
свойство позволяет просматривать статистику решений.
Следующая таблица описывает свойство статистики решения.
Статистическое свойство решения BVP
Свойство | Значение | Описание |
---|---|---|
|
| Указывает, отображаются ли статистические данные о расчетах. Если на
|
Чтобы создать структуру опций, которая изменяет относительную погрешность допуск bvp4c
от значения по умолчанию 1e-3
на 1e-4
, введите
options = bvpset('RelTol',1e-4);
Чтобы восстановить значение 'RelTol'
от options
, введите
bvpget(options,'RelTol') ans = 1.0000e-004