Spec-Zone.ru › Octave 8

24.3 Решатели, совместимые с MATLAB

Octave также предоставляет набор решателей для задач Коши обыкновенных дифференциальных уравнений (ОДУ), имеющих интерфейс, совместимый с MATLAB. Параметры для этого класса методов задаются с помощью функций.

  • odeset
  • odeget

В настоящее время реализованы следующие решатели:

  • Методы Рунге-Кутты
    • ode45 интегрирует систему нежестких ОДУ или дифференциально-алгебраических уравнений (ДАУ) первого порядка, используя метод четвертого порядка переменного шага Дорман-Принса. Он требует шести вычислений функции на каждом шаге интегрирования, но может делать более крупные шаги на гладких задачах, чем ode23: что потенциально обеспечивает повышение эффективности при меньших допусках.
    • ode23 интегрирует систему нежестких ОДУ или (или ДАУ первого порядка). Он использует метод третьего порядка Богацки-Шампина и изменяет локальный шаг, чтобы удовлетворить заданному пользователем допуску. Решатель требует трех вычислений функции на каждом шаге интегрирования.
    • ode23s интегрирует систему жестких ОДУ (или ДАУ первого порядка) с помощью модифицированного метода второго порядка Розенброка.
  • Методы линейной многошаговой итерации
    • ode15s интегрирует систему жестких ОДУ (или ДАУ первого порядка) с помощью метода переменного шага и порядка, основанного на формулах обратного разностного метода (BDF).
    • ode15i интегрирует систему полностью неявных ОДУ (или ДАУ первого порядка) с использованием того же метода переменного шага и переменного порядка, что и ode15s. decic может использоваться для вычисления согласованных начальных условий для ode15i.

Подробная информация о решателях приведена в работе Л. Ф. Шампина и М. В. Рейхельта, Набор MATLAB ODE, SIAM Journal on Scientific Computing, том 18, 1997, стр. 1–22, DOI: https://doi.org/10.1137/S1064827594276424.

: [t, y] = ode45 (fcn, trange, init) ¶
: [t, y] = ode45 (fcn, trange, init, ode_opt) ¶
: [t, y, te, ye, ie] = ode45 (…) ¶
: solution = ode45 (…) ¶
: ode45 (…) ¶

Решает систему обыкновенных дифференциальных уравнений (нежесткие ОДУ) с помощью хорошо известного явного метода Дорман-Принса четвертого порядка.

fcn — это обработчик функции, встроенная функция или строка, содержащая имя функции, которая определяет ОДУ: y' = f(t,y). Функция должна принимать два входных значения, где первое — время t, а второе — столбец неизвестных y.

trange задаёт временной интервал, на котором будет вычисляться решение ОДУ. Обычно это вектор из двух элементов, задающих начальное и конечное время ([tinit, tfinal]). Если элементов больше двух, то решение также будет вычислено в эти промежуточные моменты времени.

По умолчанию, ode45 использует адаптивный шаг времени с алгоритмом integrate_adaptive. Допуск для вычисления шага времени можно изменить, используя параметры "RelTol" и "AbsTol".

init содержит начальное значение для неизвестных. Если это строка, то решение y будет матрицей, в которой каждый столбец — решение для соответствующего начального значения в init.

Необязательный четвёртый аргумент ode_opt задаёт нестандартные параметры решателя ОДУ. Это структура, сгенерированная с помощью odeset.

Функция обычно возвращает два выходных значения. Переменная t — это столбец, содержащий моменты времени, где было найдено решение. Выходное значение y — матрица, в которой каждый столбец относится к различной неизвестной задачи, а каждая строка соответствует времени в t.

Результат также может быть возвращён как структура solution, которая имеет поле x, содержащее строку времени, где решение было вычислено, и поле y, содержащее матрицу решения, так что каждый столбец соответствует времени в x. Используйте fieldnames (solution) для просмотра других полей и дополнительной информации, возвращённой функцией.

Если не указаны выходные аргументы и "OutputFcn" не указан в ode_opt, то "OutputFcn" устанавливается в odeplot, и результаты решателя отображаются сразу.

Если используется опция "Events", могут быть возвращены три дополнительных выходных значения. te содержит время, когда функция события вернула ноль. ye содержит значение решения в момент времени te. ie содержит индекс, указывающий, какая функция события была активирована в случае нескольких функций событий.

Пример: решение уравнения Ван дер Поля

fvdp = @(t,y) [y(2); (1 - y(1)^2) * y(2) - y(1)];
[t,y] = ode45 (fvdp, [0, 20], [2, 0]);

См. также: odeset, odeget, ode23, ode15s.

: [t, y] = ode23 (fcn, trange, init) ¶
: [t, y] = ode23 (fcn, trange, init, ode_opt) ¶
: [t, y, te, ye, ie] = ode23 (…) ¶
: solution = ode23 (…) ¶
: ode23 (…) ¶

Решает систему обыкновенных дифференциальных уравнений (нежесткие ОДУ) с помощью хорошо известного явного метода Богацки-Шампина третьего порядка.

fcn — это обработчик функции, встроенная функция или строка, содержащая имя функции, которая определяет ОДУ: y' = f(t,y). Функция должна принимать два входных значения, где первое — время t, а второе — столбец неизвестных y.

trange задаёт временной интервал, на котором будет вычисляться решение ОДУ. Обычно это вектор из двух элементов, задающих начальное и конечное время ([tinit, tfinal]). Если элементов больше двух, то решение также будет вычислено в эти промежуточные моменты времени.

По умолчанию, ode23 использует адаптивный шаг времени с алгоритмом integrate_adaptive. Допуск для вычисления шага времени можно изменить, используя параметры "RelTol" и "AbsTol".

init содержит начальное значение для неизвестных. Если это строка, то решение y будет матрицей, в которой каждый столбец — решение для соответствующего начального значения в init.

Необязательный четвёртый аргумент ode_opt задаёт нестандартные параметры решателя ОДУ. Это структура, сгенерированная с помощью odeset.

Функция обычно возвращает два выходных значения. Переменная t — это столбец, содержащий моменты времени, где было найдено решение. Выходное значение y — матрица, в которой каждый столбец относится к различной неизвестной задачи, а каждая строка соответствует времени в t.

Результат также может быть возвращён как структура solution, которая имеет поле x, содержащее строку времени, где решение было вычислено, и поле y, содержащее матрицу решения, так что каждый столбец соответствует времени в x. Используйте fieldnames (solution) для просмотра других полей и дополнительной информации, возвращённой функцией.

Если не указаны выходные аргументы и "OutputFcn" не указан в ode_opt, то "OutputFcn" устанавливается в odeplot, и результаты решателя отображаются сразу.

Если используется опция "Events", могут быть возвращены три дополнительных выходных значения. te содержит время, когда функция события вернула ноль. ye содержит значение решения в момент времени te. ie содержит индекс, указывающий, какая функция события была активирована в случае нескольких функций событий.

Пример: решение уравнения Ван дер Поля

fvdp = @(t,y) [y(2); (1 - y(1)^2) * y(2) - y(1)];
[t,y] = ode23 (fvdp, [0, 20], [2, 0]);

Ссылка: Для определения этого метода см. https://en.wikipedia.org/wiki/List_of_Runge%E2%80%93Kutta_methods.

См. также: odeset, odeget, ode45, ode15s.

: [t, y] = ode23s (fcn, trange, init) ¶
: [t, y] = ode23s (fcn, trange, init, ode_opt) ¶
: [t, y] = ode23s (…, par1, par2, …) ¶
: [t, y, te, ye, ie] = ode23s (…) ¶
: solution = ode23s (…) ¶

Решить систему жёстких обыкновенных дифференциальных уравнений (ОДУ) методом Розенброка порядка (2,3).

fcn — это обработчик функции, встроенная функция или строка, содержащая имя функции, определяющей ОДУ: M y' = f(t,y). Функция должна принимать два входных параметра, где первый — время t, а второй — столбец неизвестных y. M — постоянная матрица масс, невырожденная и, возможно, разреженная. Установите поле "Mass" в odeopts с помощью odeset, чтобы указать матрицу масс.

trange задаёт интервал времени, на котором будет вычисляться ОДУ. Обычно это вектор из двух элементов, определяющий начальное и конечное время ([tinit, tfinal]). Если элементов больше двух, то решение также будет вычислено в этих промежуточных точках времени с использованием процедуры интерполяции того же порядка, что и у решателя.

По умолчанию, ode23s использует адаптивный шаг времени с integrate_adaptive алгоритмом. Допуск для вычисления шага времени можно изменить, используя параметры "RelTol" и "AbsTol".

init содержит начальное значение для неизвестных. Если это строка, то решение y будет матрицей, в которой каждый столбец — решение для соответствующего начального значения в init.

Необязательный четвёртый аргумент ode_opt задаёт нестандартные параметры для решателя ОДУ. Он представляет собой структуру, сгенерированную с помощью odeset. ode23s проигнорирует следующие параметры: "BDF", "InitialSlope", "MassSingular", "MStateDependence", "MvPattern", "MaxOrder", "Non-negative".

Функция обычно возвращает два результата. Переменная t — это столбец, содержащий моменты времени, где было найдено решение. Результат y — это матрица, в которой каждый столбец относится к разным неизвестным задачи, а каждая строка соответствует моменту времени в t. Если trange задаёт промежуточные точки времени, то будут возвращены только они.

Результат также может быть возвращён как структура solution, которая имеет поле x, содержащее строку времени, где было вычислено решение, и поле y, содержащее матрицу решения, при этом каждый столбец соответствует времени в x. Используйте fieldnames (solution) для просмотра других полей и дополнительной информации, возвращаемой функцией.

Если используется параметр "Events", то могут быть возвращены три дополнительных результата. te содержит время, когда функция события вернула ноль. ye содержит значение решения в момент времени te. ie содержит индекс, указывающий, какая функция события была активирована в случае нескольких функций событий.

Пример: Решить жёсткое уравнение Ван дер Поля

f = @(t,y) [y(2); 1000*(1 - y(1)^2) * y(2) - y(1)];
opt = odeset ('Mass', [1 0; 0 1], 'MaxStep', 1e-1);
[vt, vy] = ode23s (f, [0 2000], [2 0], opt);

См. также: odeset, daspk, dassl.

: [t, y] = ode15s (fcn, trange, y0) ¶
: [t, y] = ode15s (fcn, trange, y0, ode_opt) ¶
: [t, y, te, ye, ie] = ode15s (…) ¶
: solution = ode15s (…) ¶
: ode15s (…) ¶

Решить систему жёстких обыкновенных дифференциальных уравнений (ОДУ) или жёстких полуявных дифференциально-алгебраических уравнений (ДАУ) индекса 1.

ode15s использует метод BDF (обратной разностной формулы) с переменным шагом и порядком, изменяющимся от 1 до 5.

fcn — это обработчик функции, встроенная функция или строка, содержащая имя функции, определяющей ОДУ: y' = f(t,y). Функция должна принимать два входных параметра, где первый — время t, а второй — столбец неизвестных y.

trange задаёт интервал времени, на котором будет вычисляться ОДУ. Обычно это вектор из двух элементов, определяющий начальное и конечное время ([tinit, tfinal]). Если элементов больше двух, то решение также будет вычислено в этих промежуточных точках времени.

init содержит начальное значение для неизвестных. Если это строка, то решение y будет матрицей, в которой каждый столбец — решение для соответствующего начального значения в init.

Необязательный четвёртый аргумент ode_opt задаёт нестандартные параметры для решателя ОДУ. Он представляет собой структуру, сгенерированную с помощью odeset.

Функция обычно возвращает два результата. Переменная t — это столбец, содержащий моменты времени, где было найдено решение. Результат y — это матрица, в которой каждый столбец относится к разным неизвестным задачи, а каждая строка соответствует моменту времени в t.

Результат также может быть возвращён как структура solution, которая имеет поле x, содержащее строку времени, где было вычислено решение, и поле y, содержащее матрицу решения, при этом каждый столбец соответствует времени в x. Используйте fieldnames (solution) для просмотра других полей и дополнительной информации, возвращаемой функцией.

Если аргументы вывода не запрашиваются, и "OutputFcn" не указано в ode_opt, то "OutputFcn" устанавливается в odeplot, и результаты решателя выводятся сразу.

Если используется параметр "Events", то могут быть возвращены три дополнительных результата. te содержит время, когда функция события вернула ноль. ye содержит значение решения в момент времени te. ie содержит индекс, указывающий, какая функция события была активирована в случае нескольких функций событий.

Пример: Решить уравнения Робертсона:

function r = robertson_dae (t, y)
  r = [ -0.04*y(1) + 1e4*y(2)*y(3)
         0.04*y(1) - 1e4*y(2)*y(3) - 3e7*y(2)^2
y(1) + y(2) + y(3) - 1 ];
endfunction
opt = odeset ("Mass", [1 0 0; 0 1 0; 0 0 0], "MStateDependence", "none");
[t,y] = ode15s (@robertson_dae, [0, 1e3], [1; 0; 0], opt);

См. также: decic, odeset, odeget, ode23, ode45.

: [t, y] = ode15i (fcn, trange, y0, yp0) ¶
: [t, y] = ode15i (fcn, trange, y0, yp0, ode_opt) ¶
: [t, y, te, ye, ie] = ode15i (…) ¶
: solution = ode15i (…) ¶
: ode15i (…) ¶

Решить систему полных неявных обыкновенных дифференциальных уравнений (ОДУ) или дифференциально-алгебраических уравнений (ДАУ) первого порядка.

ode15i использует метод переменного шага и порядка BDF (формула обратной разности), изменяющийся от 1 до 5.

fcn — это обработчик функций, встроенная функция или строка, содержащая имя функции, определяющей ОДУ: 0 = f(t,y,yp). Функция должна принимать три входных значения, где первое — время t, второе — значение функции y (вектор-столбец), а третье — значение производной yp (вектор-столбец).

trange задаёт временной интервал, на котором будет вычисляться ОДУ. Обычно это вектор из двух элементов, задающий начальное и конечное время ([tinit, tfinal]). Если элементов больше двух, то решение также будет вычисляться в эти промежуточные моменты времени.

y0 и yp0 содержат начальные значения неизвестных y и yp. Если они являются строчными векторами, то решение y будет матрицей, в которой каждый столбец — решение для соответствующего начального значения в y0 и yp0.

y0 и yp0 должны быть согласованными начальными условиями, что означает, что f(t,y0,yp0) = 0 выполняется. Функция decic может быть использована для вычисления согласованных начальных условий, исходя из начальных предположений.

Необязательный пятый аргумент ode_opt задаёт параметры решения ОДУ, отличные от стандартных. Это структура, сгенерированная odeset.

Функция обычно возвращает два выходных значения. Переменная t — это вектор-столбец, содержащий времена, где было найдено решение. Выход y — это матрица, в которой каждый столбец относится к различной неизвестной величине задачи, а каждая строка соответствует времени в t.

Выходные данные также могут быть возвращены как структура solution, которая имеет поле x, содержащее строчный вектор времен, где было вычислено решение, и поле y, содержащее матрицу решения, такая, что каждый столбец соответствует времени в x. Используйте fieldnames (solution) для просмотра других полей и дополнительной информации, возвращаемой функцией.

Если не запрашиваются выходные аргументы и не задан "OutputFcn" в ode_opt, то "OutputFcn" устанавливается в odeplot, и результаты решения отображаются сразу.

Если используется опция "Events", могут быть возвращены три дополнительных выхода. te содержит время, когда функция события вернула ноль. ye содержит значение решения в момент времени te. ie содержит индекс, указывающий, какая функция события была вызвана в случае нескольких функций событий.

Пример: Решение уравнений Робертсона:

function r = robertson_dae (t, y, yp)
  r = [ -(yp(1) + 0.04*y(1) - 1e4*y(2)*y(3))
        -(yp(2) - 0.04*y(1) + 1e4*y(2)*y(3) + 3e7*y(2)^2)
y(1) + y(2) + y(3) - 1 ];
endfunction
[t,y] = ode15i (@robertson_dae, [0, 1e3], [1; 0; 0], [-1e-4; 1e-4; 0]);

См. также: decic, odeset, odeget.

: [y0_new, yp0_new] = decic (fcn, t0, y0, fixed_y0, yp0, fixed_yp0) ¶
: [y0_new, yp0_new] = decic (fcn, t0, y0, fixed_y0, yp0, fixed_yp0, options) ¶
: [y0_new, yp0_new, resnorm] = decic (…) ¶

Вычислить согласованные начальные условия неявного ОДУ y0_new и yp0_new на основе начальных предположений y0 и yp0.

Максимально length (y0) компонентов между fixed_y0 и fixed_yp0 могут быть выбраны как фиксированные значения.

fcn — это обработчик функций. Функция должна принимать три входных значения, где первое — время t, второе — вектор-столбец неизвестных y, а третье — вектор-столбец неизвестных yp.

t0 — начальное время, такое что fcn(t0, y0_new, yp0_new) = 0, заданное как скаляр.

y0 — вектор, используемый в качестве начального предположения для y.

fixed_y0 — вектор, который определяет компоненты y0, которые должны оставаться неизменными. Выберите максимальное количество length (y0) компонентов между fixed_y0 и fixed_yp0 как фиксированные значения. Установите компонент fixed_y0(i) в 1, если вы хотите зафиксировать значение y0(i). Установите компонент fixed_y0(i) в 0, если вы хотите, чтобы значение y0(i) могло измениться.

yp0 — вектор, используемый в качестве начального предположения для yp.

fixed_yp0 — вектор, который определяет компоненты yp0, которые должны оставаться неизменными. Выберите максимальное количество length (yp0) компонентов между fixed_y0 и fixed_yp0 как фиксированные значения. Установите компонент fixed_yp0(i) в 1, если вы хотите зафиксировать значение yp0(i). Установите компонент fixed_yp0(i) в 0, если вы хотите, чтобы значение yp0(i) могло измениться.

Необязательный седьмой аргумент options — это массив структур. Используйте odeset для генерации этой структуры. Соответствующие параметры — RelTol и AbsTol, которые задают пороговые значения ошибок, используемые для вычисления начальных условий.

Функция обычно возвращает два выходных значения. Переменная y0_new — это вектор-столбец и содержит согласованное начальное значение y. Выход yp0_new — это вектор-столбец и содержит согласованное начальное значение yp.

Необязательный третий выход resnorm — это норма вектора остатков. Если resnorm мало, decic успешно вычислило начальные условия. Если значение resnorm велико, используйте RelTol и AbsTol для его корректировки.

Пример: Вычисление начальных условий для уравнений Робертсона:

function r = robertson_dae (t, y, yp)
  r = [ -(yp(1) + 0.04*y(1) - 1e4*y(2)*y(3))
        -(yp(2) - 0.04*y(1) + 1e4*y(2)*y(3) + 3e7*y(2)^2)
y(1) + y(2) + y(3) - 1 ];
endfunction
[y0_new,yp0_new] = decic (@robertson_dae, 0, [1; 0; 0], [1; 1; 0],
[-1e-4; 1; 0], [0; 0; 0]);

См. также: ode15i, odeset.

: odestruct = odeset () ¶
: odestruct = odeset ("field1", value1, "field2", value2, …) ¶
: odestruct = odeset (oldstruct, "field1", value1, "field2", value2, …) ¶
: odestruct = odeset (oldstruct, newstruct) ¶
: odeset () ¶

Создание или изменение структуры параметров ODE.

При вызове без входных аргументов и с одним выходным аргументом возвращает новую структуру параметров ODE, содержащую все возможные поля, инициализированные их значениями по умолчанию. Если выходной аргумент не указан, отображается список общих параметров решателя ODE вместе с их значениями по умолчанию.

При вызове с парами аргументов «имя-значение» "field1", "value1", "field2", "value2", … возвращает новую структуру параметров ODE с инициализированными всеми наиболее распространёнными полями опций и устанавливает значения полей "field1", "field2", … на значения value1, value2, ….

При вызове со структурой oldstruct в качестве входного аргумента переписывает значения опций "field1", "field2", … новыми значениями value1, value2, … и возвращает изменённую структуру.

При вызове с двумя входными структурами параметров ODE oldstruct и newstruct переписывает все значения из структуры oldstruct новыми значениями из структуры newstruct. Пустые значения в newstruct не перепишут значения в oldstruct.

Наиболее часто используемые параметры ODE, которые всегда присваиваются значению odeset, следующие:

AbsTol: положительное скалярное | векторное значение, по умолчанию 1e-6

Абсолютная погрешность.

BDF: {"off"} | "on"

Использовать формулы BDF в неявных многошаговых методах. Примечание: Эта опция пока не реализована.

Events: функция_обработчик

Функция события. Функция события должна иметь вид [value, isterminal, direction] = my_events_f (t, y)

InitialSlope: вектор

Согласованный начальный вектор наклона для решателей DAE.

InitialStep: положительное скалярное значение

Начальный шаг.

Jacobian: матрица | функция_обработчик

Матрица Якоби, заданная как постоянная матрица или функция от времени и состояния.

JConstant: {"off"} | "on"

Указать, является ли матрица Якоби постоянной матрицей или зависит от состояния.

JPattern: разреженная матрица

Если матрица Якоби разреженная и не постоянная, но сохраняет постоянную структуру разреженности, укажите структуру разреженности.

Mass: матрица | функция_обработчик

Матрица массы, заданная как постоянная матрица или функция от времени и состояния.

MassSingular: {"maybe"} | "yes" | "on"

Указать, является ли матрица массы вырожденной.

MaxOrder: {5} | 4 | 3 | 2 | 1

Максимальный порядок формулы.

MaxStep: положительное скалярное значение

Максимальное значение шага.

MStateDependence: {"weak"} | "none" | "strong"

Указать, зависит ли матрица массы от состояния или только от времени.

MvPattern: разреженная матрица

Если матрица массы разреженная и не постоянная, но сохраняет постоянную структуру разреженности, укажите структуру разреженности. Примечание: Эта опция пока не реализована.

NonNegative: скаляр | вектор

Указать элементы вектора состояния, которые должны оставаться неотрицательными во время моделирования.

NormControl: {"off"} | "on"

Управление относительной погрешностью по отношению к 2-норме решения, а не к её абсолютному значению.

OutputFcn: функция_обработчик

Функция для мониторинга состояния во время моделирования. Для формы функции см. odeplot.

OutputSel: скаляр | вектор

Индексы элементов вектора состояния, которые должны быть переданы в функцию мониторинга вывода.

Refine: положительное скалярное значение

Указать, должен ли вывод возвращаться только в конце каждого шага по времени или также в промежуточные моменты времени. Значение должно быть скаляром, указывающим количество равномерно распределённых временных точек для использования внутри каждого шага по времени, в которых возвращается вывод.

RelTol: положительное скалярное значение

Относительная погрешность.

Stats: {"off"} | "on"

Печать статистики решателя после моделирования.

Vectorized: {"off"} | "on"

Указать, можно ли передать odefcn сразу несколько значений состояния.

Имена полей, которые не находятся в вышеприведённом списке, также принимаются и добавляются в результирующую структуру.

См. также: odeget.

: val = odeget (ode_opt, field) ¶
: val = odeget (ode_opt, field, default) ¶

Запрос значения свойства field в структуре параметров ODE ode_opt.

Если вызывается с двумя входными аргументами и первый входной аргумент ode_opt является структурой параметров ODE, а второй входной аргумент field — строкой, указывающей имя параметра, то возвращается значение параметра val, соответствующее field из ode_opt.

Если вызывается с необязательным третьим входным аргументом и field не задан в структуре ode_opt, то возвращается значение по умолчанию default вместо него.

См. также: odeset.

: stop_solve = odeplot (t, y, flag) ¶

Открывает новое окно фигуры и строит график решения задачи ode на каждом временном шаге во время интегрирования.

Типы и значения входных параметров t и y зависят от входного значения flag, которое является строкой. Допустимые значения flag:

"init"

Ввод t должен быть столбцом длиной 2 с первым и последним временным шагом ([tfirst tlast]. Вход y содержит начальные условия для задачи ode (y0).

""

Вход t должен быть скалярным double или вектором, определяющим время(а), для которого было вычислено решение во входном значении y.

"done"

Входы должны быть пустыми, но игнорируются, если они присутствуют.

odeplot всегда возвращает false, т.е. не останавливает решатель ode.

Пример: решить анонимную реализацию уравнения "Van der Pol" и отобразить результаты во время решения.

fvdp = @(t,y) [y(2); (1 - y(1)^2) * y(2) - y(1)];

opt = odeset ("OutputFcn", @odeplot, "RelTol", 1e-6);
sol = ode45 (fvdp, [0 20], [2 0], opt);

Справочная информация: Эта функция вызывается функцией решателя ode, если она была указана в свойстве "OutputFcn" структуры параметров, созданной с помощью odeset. Решатель ode первоначально вызовет функцию с синтаксисом odeplot ([tfirst, tlast], y0, "init"). Функция инициализирует внутренние переменные, создаёт новое окно фигуры и устанавливает пределы оси x графика. После этого на каждом временном шаге во время интегрирования решатель ode вызывает odeplot (t, y, []). В конце решения решатель ode вызывает odeplot ([], [], "done"), чтобы odeplot мог выполнить необходимые действия по очистке.

См. также: odeset, odeget, ode23, ode45.

© 1996–2023 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v8.1.0/Matlab_002dcompatible-solvers.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API