установка опций для программ решения ОДУ
odeoptions()
Эта функция интерактивно отображает команды, которые должны выполняться для установки различных опций для программ решения ОДУ. Контекстная переменная
%ODEOPTIONS
устанавливает опции.
![]() | Функция ode проверяет существует ли эта переменная и, если она она существует, то использует её. Для использования значений по умолчанию вы должны очистить эту переменную. Чтобы создать эту переменную вы должны выполнить инструкцию %ODEOPTIONS=odeoptions() . |
Переменная %ODEOPTIONS
является вектором со следующими элементами:
[itask, tcrit, h0, hmax, hmin, jactyp, mxstep, maxordn, maxords, ixpr, ml, mu]
.
Значение по умолчанию: [1,0,0,%inf,0,2,500,12,5,0,-1,-1]
.
Значение элементов описывается ниже.
itask
устанавливает режим интегрирования:
ode
)tcrit
tcrit
и возвратtcrit
критическое время, используемое только если
itask
равняется 4 или 5, как описано вышеh0
первый подбираемый шагhmax
максимальный размер шагаhmin
минимальный размер шагаjactype
устанавливает свойства матрицы Якоби:
"adams"
или "stiff"
)"adams"
или "stiff"
)ml
и mu
ниже)ml
и mu
ниже)maxordn
максимально разрешённый нежёсткий порядок, не больше
12maxords
максимально разрешённый жёсткий порядок, не больше 5ixpr
уровень печати, 0 или 1ml
, mu
Если jactype
равен 4 или 5, то ml
и mu
являются нижней и верхней половинными полосами
ленточной матрицы Якоби, где лентой являются i,j
с
i-ml
<= j
<= ny-1
.
Если jactype
равен 4, тогда функция Якоби должна возвращать
матрицу J
, которая имеет размерность ml+mu+1 x ny
(где ny=dim
вектора y
в
ydot=f(t,y))
так что первый столбец J
составлен из
mu
нулей, за которыми следуют df1/dy1
,
df2/dy1
, df3/dy1
, ... (1+ml
возможно ненулевых элементов), второй столбец составлен из mu-1
нулей, за которыми следуют df1/dx2
, df2/dx2
и т. д.
В следующем примере мы решим обыкновенное дифференциальное уравнение
dy/dt=y^2-y sin(t)+cos(t)
с начальным условием y(0)=0
,
требуя , чтобы решение хранилось в каждом значении сетки.