Дескрипторная поддержка параметров решателя
При помощи перечисленных ниже функций можно получить и создать или изменить параметры решателя:
- o=odeget(options, 'name') – извлекает значение свойства, определенного строкой 'name', из структуры параметров options; возвращает пустую матрицу, если значение данного свойства в структуре options не определено. Можно ввести только первые буквы, которые однозначно определяют имя свойства. Пустая матрица [ ] – допустимый аргумент options;
Пример:
>
>
options
=
odesetCRelTol,[le
-
6
le
-
7
].
'AbsTol'
,
6e
-
3
);
>
>
odeget(options.
'Rel'
)
ans
=
1.0e
-
006
*
1.0000
0.1000
>
>
odegetCoptions.
'Abs'
)
ans
=
0.0060
- options=odeset('namel'.valuel, 'name2',value2,…) – создает структуру параметров, в которой указанные свойства по имени ' name…' принимают следующие за ними значения. Вместо 'name…' можно ввести только первые буквы, которые однозначно определяют имя свойства (abs – Abstol, inaxit – maxiter и т. д.);
- options=odeset (ol dopts, newopts) – изменяет существующую структуру параметров oldopts путем объединения ее с новой структурой newopts. Все новые параметры, не равные пустой матрице, заменяют соответствующие параметры в структуре oldopts;
- options=odeset(ol dopts, 'namel'.valuel,…) – изменяет в существующей структуре параметров соответствующие значения. Пример:
oldopts
F
1
[ ]
4
'S'
'S'
[ ] [ ] [ ]
newopts
T
3
F []
'S'
[] [] [] []
odeset(oldopts.newopts)
T
3
F.
4
' '
's'
[ ] [ ] [ ]
Функция odeset без параметров возвращает все имена свойств и их допустимые значения.
Пример:
>
>
odeset
AbsTol: [ positive scalar or vector {le
-
6
} ]
RelTol: [ positive scalar {le
-
3
} ]
NormControl: [
on
| {
off
} ]
OutputFcn: [
function
]
OutputSel: [ vector of integers ]
Refine: [ positive integer ]
Stats: [
on
| {
off
} ]
InitialStep: [ positive scalar ]
MaxStep: [ positive scalar ]
BDF: [
on
| {
off
} ]
MaxOrder: [
1
|
2
|
3
|
4
| {
5
} ]
Jacobian: [ matrix |
function
]
JPattern: [ sparse matrix ]
Vectorized: [
on
| {
off
} ]
Mass: [ matrix |
function
] MStateOependence: [ none | weak | strong ]
MvPattern: [ sparse matrix ]
MassSingular: [ yes | no | {maybe} ]
InitialSlope: [ vector ] Events: [
function
]