Дескрипторная поддержка параметров решателя
При помощи перечисленных ниже функций можно получить и создать или изменить параметры решателя:
- 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 ]