Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語
Справка Scilab >> Дифференциальное счисление, интегрирование > odeoptions

odeoptions

установка опций для программ решения ОДУ

Синтаксис

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 устанавливает режим интегрирования:
    • 1: нормальное вычисление в определённые моменты времени
    • 2 : вычисления в точках сетки (указанных в первой строке вывода функции ode)
    • 3 : один шаг на одной внутренней точке сетки и возврат
    • 4 : нормальное вычисление без превышения tcrit
    • 5 : один шаг без превышения tcrit и возврат
  • tcrit критическое время, используемое только если itask равняется 4 или 5, как описано выше
  • h0 первый подбираемый шаг
  • hmax максимальный размер шага
  • hmin минимальный размер шага
  • jactype устанавливает свойства матрицы Якоби:
    • 0: функциональные итерации, матрица Якоби не используется (только для методов "adams" или "stiff")
    • 1: заданная пользователем полная матрица Якоби
    • 2: внутренне рассчитанная полная матрица Якоби
    • 3: внутренне рассчитанная диагональная матрица Якоби (только для методов "adams" или "stiff")
    • 4: заданная пользователем ленточная матрица Якоби (см. ml и mu ниже)
    • 5: внутренне рассчитанная ленточная матрица Якоби (см ml и mu ниже)
  • maxordn максимально разрешённый нежёсткий порядок, не больше 12
  • maxords максимально разрешённый жёсткий порядок, не больше 5
  • ixpr уровень печати, 0 или 1
  • ml, 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, требуя , чтобы решение хранилось в каждом значении сетки.

function ydot=f(t, y)
    ydot=y^2-y*sin(t)+cos(t)
endfunction
%ODEOPTIONS=[2,0,0,%inf,0,2,500,12,5,0,-1,-1];
y=ode(0,0,%pi,f);
plot(y(1,:),y(2,:))
clear %ODEOPTIONS

Смотрите также

  • ode — программа решения обыкновенных дифференциальных уравнений
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:21 CET 2017