Создайте или измените структуру параметров решателей ОДУ
options = odeset(Name,Value,...)
options = odeset(oldopts,Name,Value,...)
options = odeset(oldopts,newopts)
odeset
создает структуру опций, которую можно передать в качестве аргумента любому из решателей ОДУ. В структуре, options
= odeset(Name,Value
,...)options
, именованные опции имеют заданные значения. Любые незаданные опции имеют значения по умолчанию. Например, options = odeset('RelTol',1e-3)
возвращает структуру опций с набором RelTol
к 1e-3
.
изменяет существующую структуру опций, options
= odeset(oldopts
,Name,Value
,...)oldopts
, с помощью недавно заданных пар "имя-значение". Это перезаписывает любые старые значения заданных опций и добавляет значения для новых опций к структуре.
odeset
без входных параметров отображает все имена возможного варианта и их возможные значения. Значения по умолчанию обозначаются с {}
, когда это применимо.
Создайте структуру опций, которая содержит значения для RelTol
и AbsTol
.
options = odeset('RelTol',1e-8,'AbsTol',1e-10);
Обновите значение AbsTol
в существующей структуре опций.
options = odeset(options,'AbsTol',1e-9)
options = struct with fields:
AbsTol: 1.0000e-09
BDF: []
Events: []
InitialStep: []
Jacobian: []
JConstant: []
JPattern: []
Mass: []
MassSingular: []
MaxOrder: []
MaxStep: []
NonNegative: []
NormControl: []
OutputFcn: []
OutputSel: []
Refine: []
RelTol: 1.0000e-08
Stats: []
Vectorized: []
MStateDependence: []
MvPattern: []
InitialSlope: []
Создайте две структуры опций.
opts_1 = odeset('RelTol',1e-8,'AbsTol',1e-9,'OutputFcn',@odeplot,'Stats','on');
opts_2 = odeset('Mass',@(t) [t 0; 0 -t],'MStateDependence','none',... 'MassSingular','no','OutputFcn',@odephas2);
Объедините структуры опций, дав настройку opts_2
. Поскольку обе структуры содержат различные значения для OutputFcn
, значение в opts_2
заменяет тот в opts_1
.
opts = odeset(opts_1,opts_2)
opts = struct with fields:
AbsTol: 1.0000e-09
BDF: []
Events: []
InitialStep: []
Jacobian: []
JConstant: []
JPattern: []
Mass: @(t)[t,0;0,-t]
MassSingular: 'no'
MaxOrder: []
MaxStep: []
NonNegative: []
NormControl: []
OutputFcn: @odephas2
OutputSel: []
Refine: []
RelTol: 1.0000e-08
Stats: 'on'
Vectorized: []
MStateDependence: 'none'
MvPattern: []
InitialSlope: []
oldopts
Старая структура опцийСтарая структура опций, заданная как структура ранее созданное использование odeset
.
Типы данных: struct
newopts
Новая структура опцийНовая структура опций, заданная как структура ранее созданное использование odeset
.
Типы данных: struct
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
options = odeset('AbsTol',1e-3,'Reltol',1e-2,'Jacobian',@J,'Mass',M)
задает пороги для допусков абсолютной и относительной погрешности, функция, которая возвращает якобиан и большую матрицу.'RelTol'
Допуск относительной погрешности1e-3
(значение по умолчанию) | положительная скалярная величинаДопуск относительной погрешности, заданный как пара, разделенная запятой, состоящая из 'RelTol'
и положительной скалярной величины. Этот допуск измеряет ошибку относительно значения каждого компонента решения. Примерно разговор, это управляет количеством правильных цифр во всех компонентах решения, кроме меньших, чем абсолютный допуск AbsTol
.
На каждом шаге решатель ОДУ оценивает локальную ошибку e
в i
th компонент решения. Чтобы быть успешным, шаг должен иметь приемлемую ошибку, как определено и допусками относительной и абсолютной погрешности:
|e(i)| <= max(RelTol*abs(y(i)),AbsTol(i))
Пример: opts = odeset('RelTol',1e-5,'AbsTol',1e-7)
Типы данных: single | double
'AbsTol'
Допуск абсолютной погрешности1e-6
(значение по умолчанию) | положительная скалярная величина | векторДопуск абсолютной погрешности, заданный как пара, разделенная запятой, состоящая из 'AbsTol'
и положительной скалярной величины или вектора. Этот допуск является порогом, ниже которого значение решения становится неважным. Если решение, |y|
меньше, чем AbsTol
, то решатель не должен получать правильные цифры в |y|
. Поэтому значение AbsTol
должно учесть шкалу компонентов решения.
Если AbsTol
является вектором, то это должна быть та же длина как решение. Если AbsTol
является скаляром, то значение применяется ко всем компонентам решения.
На каждом шаге решатель ОДУ оценивает локальную ошибку e
в i
th компонент решения. Чтобы быть успешным, шаг должен иметь приемлемую ошибку, как определено и допусками относительной и абсолютной погрешности:
|e(i)| <= max(RelTol*abs(y(i)),AbsTol(i))
Пример: opts = odeset('RelTol',1e-5,'AbsTol',1e-7)
Типы данных: single | double
'NormControl'
Управляйте ошибкой относительно нормы'off'
(значение по умолчанию) | 'on'
Управляйте ошибкой относительно нормы решения, заданного как пара, разделенная запятой, состоящая из 'NormControl'
и 'on'
или 'off'
. Когда NormControl
является 'on'
, решатели управляют ошибкой e
на каждом шаге с помощью нормы решения, а не его абсолютного значения:
norm(e(i)) <= max(RelTol*norm(y(i)),AbsTol(i))
Пример: opts = odeset('NormControl','on')
Типы данных: char | string
'NonNegative'
— Неотрицательные компоненты решения[]
(значение по умолчанию) | скаляр | векторНеотрицательные компоненты решения, заданные как пара, разделенная запятой, состоящая из 'NonNegative'
и скаляра или вектора. Скаляр или вектор выбирают, какие компоненты решения должны быть неотрицательными.
NonNegative
не доступен для ode23s
или ode15i
. Кроме того, для ode15s
, ode23t
и ode23tb
это не доступно для проблем, где существует большая матрица.
Пример: opts = odeset('NonNegative',1)
указывает, что первый компонент решения должен быть неотрицательным.
Типы данных: single | double
'OutputFcn'
Выходная функция[]
или @odeplot
(значение по умолчанию) | указатель на функциюВыходная функция, заданная как пара, разделенная запятой, состоящая из 'OutputFcn'
и указателя на функцию. Решатель ОДУ вызывает выходную функцию после каждого успешного временного шага. Если вы вызываете решатель ОДУ без выходных параметров, то значения по умолчанию выходной функции к @odeplot
, который строит все компоненты решения, когда они вычисляются. В противном случае значением по умолчанию является []
.
Это встроенные выходные функции, которые можно использовать с OutputFcn
:
FunctionName | Описание |
---|---|
odeplot | Постройте все компоненты решения по сравнению со временем |
odephas2 | 2D график плоскости фазы первых двух компонентов решения |
odephas3 | 3-D график плоскости фазы первых трех компонентов решения |
odeprint | Распечатайте решение и временной шаг |
Если вы пишете пользовательскую выходную функцию, то она должна иметь форму
status = myOutputFcn(t,y,flag)
Выходная функция должна также соответственно ответить на эти флаги:
Флаг | Описание |
---|---|
'init' | Решатель вызывает |
[] | Решатель вызывает
|
'done' | Решатель вызывает |
Типы данных: function_handle
'OutputSel'
Выбор компонента для выходной функцииВыбор компонента для выходной функции, заданной как пара, разделенная запятой, состоящая из 'OutputSel'
и вектор индексов. Вектор задает который компоненты решения передать выходной функции.
Пример: opts = odeset('OutputFcn',@myFcn,'OutputSel',[1 3])
передает первые и третьи компоненты решения выходной функции.
'Refine'
— Фактор улучшения решения1
(большинство решателей) или 4
(только ode45
) (значение по умолчанию) | скалярФактор улучшения решения, заданный как пара, разделенная запятой, состоящая из 'Refine'
и скаляра. Скаляр задает фактор, которым количество выходных точек должно увеличиться на каждом шаге.
Если фактором улучшения является 1
, то решатель возвращает решения только в конце каждого шага.
Если фактором улучшения является n>1
, то решатель подразделяет каждый шаг на n
меньшие интервалы и возвращает решения в каждой точке.
Значением по умолчанию для большинства решателей является 1
, но ode45
использует значение по умолчанию 4
, чтобы компенсировать большие размеры шага.
Дополнительные значения, произведенные фактором улучшения, вычисляются посредством непрерывных дополнительных формул. Это специализированные формулы, используемые решателями ОДУ, чтобы получить точные решения между вычисленными временными шагами без значительного увеличения во время вычисления.
Refine
не применяется, когда length(tspan) > 2
, или когда решатель ОДУ возвращает решение как структуру.
Пример: opts = odeset('Refine',5)
увеличивает число выходных точек фактором пять.
статистика
Статистика решателя'off'
(значение по умолчанию) | 'on'
Статистика решателя, заданная как пара, разделенная запятой, состоящая из 'Stats'
и 'on'
или 'off'
. Когда 'on'
, решатель отображает информацию после завершения решения:
Количество успешных шагов
Количество неудачных попыток
Число раз функция ОДУ было названо, чтобы оценить
Неявные решатели отображают дополнительную информацию о решении:
Число раз, что матрица частных производных был сформирован
Количество разложений LU
Количество решений линейных систем
Пример: opts = odeset('Stats','on')
Типы данных: char | string
'InitialStep'
Предложенный начальный размер шагаПредложенный начальный размер шага, заданный как пара, разделенная запятой, состоящая из 'InitialStep'
и положительной скалярной величины. InitialStep
устанавливает верхнюю границу на значении размера первого шага, который пробует решатель ОДУ.
Если вы не задаете начальный размер шага, то решатель основывает начальный размер шага на наклоне решения в начальном моменте времени, tspan(1)
. Если наклон всех компонентов решения является нулем, то решатель может попробовать размер шага, который является слишком большим. Если вы имеете в виду, что это происходит, или если вы хотите быть уверенными, что решатель разрешает важное поведение в начале интегрирования, то используйте InitialStep
, чтобы обеспечить подходящий начальный размер шага.
Пример: opts = odeset('InitialStep',1e-3)
устанавливает верхнюю границу 1e-3
на размере начального шага.
'MaxStep'
Максимальный размер шага0.1*abs(t0-tf)
(значение по умолчанию) | скалярМаксимальный размер шага, заданный как пара, разделенная запятой, состоящая из 'MaxStep'
и положительной скалярной величины. MaxStep
устанавливает верхнюю границу на размере любого шага, сделанного решателем. Если ОДУ имеет периодическое поведение, например, то установка MaxStep
к части периода гарантирует, что решатель не увеличивает шаг так, что это переступает через сферу интересов.
Не используйте MaxStep
только, чтобы получить больше выходных точек, когда он может значительно замедлить интегрирование. Вместо этого используйте опцию Refine
, чтобы вычислить дополнительные точки по низкой вычислительной стоимости.
Не используйте MaxStep
, чтобы увеличить точность решения. Если решение не достаточно точно, то уменьшайте значение RelTol
и используйте решение определить подходящее значение для AbsTol
.
Избегайте использования MaxStep
, чтобы убедиться, что решатель не переступает через некоторое поведение, которое происходит только однажды в интервале интегрирования. Если вы знаете время, в которое происходит поведение, то разбейте интервал на две части и вызовите решатель дважды. Если вы не знаете время, в которое происходит изменение, попытайтесь уменьшать RelTol
и AbsTol
. Используйте MaxStep
только как последнее прибежище в этом случае.
Пример: opts = odeset('MaxStep',1e-2)
События
Функция событияФункция события, заданная как пара, разделенная запятой, состоящая из 'Events'
и указателя на функцию, такого как @myEventsFcn
. Функция события, заданная указателем на функцию, должна иметь общую форму
[value,isterminal,direction] = myEventsFcn(t,y)
value
, isterminal
и direction
являются векторами, i
которых th элемент соответствует i
th функция события:
value(i)
является значением i
th функция события.
isterminal(i) = 1
, если интегрирование должно остановиться в нуле этой функции события. В противном случае это - 0
.
direction(i) = 0
, если все нули должны быть расположены (значение по умолчанию). Значение +1
определяет местоположение только нулей, где функция события увеличивается, и -1
определяет местоположение только нулей, где функция события уменьшается.
Смотрите Функции Параметризации, чтобы видеть, как передать в дополнительных входных параметрах функции событий.
Если вы задаете функцию событий, можно вызвать решатель ОДУ с тремя дополнительными выходными аргументами как
[t,y,te,ye,ie] = odeXY(odefun,tspan,y0,options)
Три дополнительных выходных параметра, возвращенные решателем, соответствуют обнаруженным событиям:
te
является вектор-столбцом времен, в которые события имели место.
ye
является значением решения, соответствующим временам события в te
.
ie
является индексами в вектор, возвращенный функцией событий. Значения указывают, какое событие решатель обнаружил.
Также можно вызвать решатель с одним выводом как
sol = odeXY(odefun,tspan,y0,options)
В этом случае информация о событии хранится в структуре как sol.te
, sol.ye
и sol.ie
.
Корневой механизм нахождения, используемый решателем ОДУ в сочетании с функцией события, имеет эти ограничения:
Если терминальное событие имеет место во время первого шага интегрирования, то решатель указывает событие как нетерминальное и продолжает объединяться.
Если больше чем одно терминальное событие имеет место во время первого шага, то только первые регистры события и решатель продолжают объединяться.
Нули определяются пересечениями знака между шагами. Поэтому нули с четным числом пересечений между шагами могут быть пропущены.
Если прошедшие события шагов решателя, попытайтесь уменьшать RelTol
и AbsTol
, чтобы улучшить точность. Также установите MaxStep
помещать верхнюю границу в размер шага. Корректировка tspan
не изменяет шаги, сделанные решателем.
Пример: файл ballode
в качестве примера содержит функцию события, которая обнаруживает возвраты шара.
Пример: файл orbitode
в качестве примера содержит функцию события, которая обнаруживает интересные места в орбите космического корабля.
Типы данных: function_handle
'Jacobian'
— Якобиевская матрицаЯкобиевская матрица, заданная как пара, разделенная запятой, состоящая из 'Jacobian'
и матрицы или функции, которая оценивает якобиан. Якобиан является матрицей частных производных функции, которая определяет дифференциальные уравнения.
Для жестких решателей ОДУ (ode15s
, ode23s
, ode23t
, ode23tb
и ode15i
), предоставляя информацию о якобиевской матрице очень важно для надежности и эффективности. Если вы не обеспечиваете якобиан, то решатель ОДУ аппроксимирует его численно использующий конечные разности.
Для ode15i
только: опция Jacobian
должна задать матрицы для обоих и . Можно предоставить эти матрицы как массив ячеек двух постоянных матриц , или как функция, которая вычисляет матрицы и имеет общую форму
[dfdy, dfdp] = Fjac(t,y,yp)
Для очень больших систем, где не выполнимо обеспечить целый аналитический якобиан, используйте свойство JPattern
передать в шаблоне разреженности якобиевской матрицы. Решатель использует шаблон разреженности, чтобы вычислить разреженный якобиан.
Пример: opts = odeset('Jacobian',@J)
задает функциональный J
, который вычисляет якобиевскую матрицу.
Пример: opts = odeset('Jacobian',[0 1; -2 1])
задает постоянную якобиевскую матрицу.
Пример: opts = odeset('Jacobian',{A,Ap})
задает две постоянных якобиевских матрицы для использования с ode15i
.
Типы данных: single
| double
| cell
| function_handle
'JPattern'
Якобиевский шаблон разреженностиЯкобиевский шаблон разреженности, заданный как пара, разделенная запятой, состоящая из 'JPattern'
и разреженной матрицы. Разреженная матрица содержит 1
s, где могут быть ненулевые записи в якобиане. Решатель ОДУ использует шаблон разреженности, чтобы сгенерировать разреженную якобиевскую матрицу численно. Используйте эту опцию, чтобы улучшить время выполнения, когда система ОДУ является большой, и вы не можете обеспечить аналитический якобиан.
Для ode15i
только: Установите опцию JPattern
с помощью массива ячеек, содержащего две разреженных матрицы {dfdyPattern, dfdypPattern}
, которые являются шаблонами разреженности для и .
Если вы задаете якобиевскую матрицу с помощью Jacobian
, то решатель игнорирует любую установку для JPattern
.
Пример: opts = odeset('JPattern',S)
задает якобиевский шаблон разреженности с помощью разреженной матрицы S
.
Пример: opts = odeset('JPattern',{dFdy, dFdyp})
задает два постоянных якобиевских шаблона разреженности для использования с ode15i
.
Типы данных: double
| cell
'Vectorized'
— Векторизованный функциональный переключатель'off'
(значение по умолчанию) | 'on'
| массив ячеекВекторизованный функциональный переключатель, заданный как пара, разделенная запятой, состоящая из 'Vectorized'
и или 'off'
или 'on'
. Используйте эту опцию, чтобы сообщить решателю ОДУ, что функция закодирована так, чтобы это приняло и возвратило векторы для второго аргумента. Таким образом, f(t,[y1 y2 y3...])
возвращает [f(t,y1) f(t,y2) f(t,y3) ...]
. По сравнению с оценкой значений по одному, эта векторизация позволяет решателю сокращать количество функциональных оценок, требуемых вычислить все столбцы якобиевской матрицы, и может значительно уменьшать время решения. См. Массив по сравнению Матричные операции для описания поэлементных операторов та векторизация поддержки.
Для ode15i
только: Установите опцию Vectorized
с помощью двухэлементного массива ячеек. Установите первый элемент на 'on'
, если f(t,[y1,y2,...],yp)
возвращает [f(t,y1,yp), f(t,y2,yp), ...]
. Установите второй элемент на 'on'
, если f(t,y,[yp1,yp2,...])
возвращает [f(t,y,yp1), f(t,y,yp2), ...]
. Значением по умолчанию Vectorized
в этом случае является {'off','off'}
.
Если вы задаете якобиевскую матрицу с помощью Jacobian
, то решатель игнорирует установку 'on'
для Vectorized
.
Пример: opts = odeset('JPattern',S,'Vectorized','on')
указывает, что функция векторизована и устанавливает якобиевский шаблон разреженности.
Пример: opts = odeset('JPattern',{dy,dyp},'Vectorized',{'on','on'})
указывает, что функция векторизована относительно y
и yp
, и также устанавливает якобиевский шаблон разреженности для использования с ode15i
.
Типы данных: char
| cell
| string
Большая матрица и ДАУ (не применяются к ode15i),
'Mass'
— Большая матрицаБольшая матрица, заданная как пара, разделенная запятой, состоящая из 'Mass'
и матрицы или указателя на функцию. Решатели ОДУ могут решить проблемы, содержащие большую матрицу формы , где большая матрица, которая может быть полной или разреженной (решатель ode23s
может решить только уравнения с постоянными большими матрицами).
Когда большая матрица несингулярна, уравнение упрощает до и ОДУ имеет решение для любого начального значения. Однако это часто более удобно и естественно выразить модель с точки зрения большой матрицы непосредственно с помощью , и предотвращение вычисления матричной инверсии уменьшает устройство хранения данных, и время выполнения должно было решить проблему.
Когда сингулярная матрица, затем проблемой является система дифференциальных алгебраических уравнений (ДАУ). ДАУ имеет решение только, когда y0
сопоставим; то есть, там существует начальный наклонный yp0
, таким образом, что M(t0,y0)yp0 = f(t0,y0)
, где yp0
задан с помощью опции InitialSlope
. ДАУ характеризуются их дифференциальным индексом или количеством производных, требуемых упростить систему до эквивалентной системы ОДУ. Для ДАУ индекса 1, решая задачу с начальными значениями с сопоставимыми начальными условиями во многом как решение ОДУ. ode15s
и решатели ode23t
могут решить ДАУ индекса 1. При решении ДАУ выгодно сформулировать проблему так, чтобы большая матрица была диагональной матрицей (полуявное ДАУ).
Во всех случаях большие матрицы, которые время - или зависимый состояния (вместо константы) требуют использования дополнительных опций:
Для проблем формы , установите опцию MStateDependence
на 'none'
. Это гарантирует, что решатель вызывает функцию большой матрицы с одним входным параметром для t
.
Если большая матрица зависит от y
, то установленный MStateDependence
или к 'weak'
(значение по умолчанию) или к 'strong'
. В обоих случаях решатель вызывает функцию большой матрицы с двумя входными параметрами (t,y)
, но результаты опции 'weak'
в неявных решателях с помощью приближений при решении алгебраических уравнений.
Если система содержит много уравнений с большой матрицей строго состояния зависимой , затем установите MvPattern
на разреженную матрицу S
задавать шаблон разреженности.
Пример: файлы в качестве примера fem2ode
и batonode
иллюстрируют различное использование большой матрицы.
Типы данных: single
| double
| function_handle
'MStateDependence'
Зависимость состояния большой матрицы'weak'
(значение по умолчанию) | 'none'
| 'strong'
Зависимость состояния большой матрицы, заданной как пара, разделенная запятой, состоящая из 'MStateDependence
и 'weak'
, 'strong'
или 'none'
.
Для проблем формы , установите опцию MStateDependence
на 'none'
. Это гарантирует, что решатель вызывает функцию большой матрицы с одним входным параметром для t
.
Если большая матрица зависит от y
, то установленный MStateDependence
или к 'weak'
(значение по умолчанию) или к 'strong'
. В обоих случаях решатель вызывает функцию большой матрицы с двумя входными параметрами (t,y)
, но результаты опции 'weak'
в неявных решателях с помощью приближений при решении алгебраических уравнений.
Пример: opts = odeset('Mass',@M,'MStateDependence','none')
указывает, что большая матрица M
зависит только от t
.
Типы данных: char | string
'MvPattern'
Шаблон разреженности большой матрицыШаблон разреженности большой матрицы, заданный как пара, разделенная запятой, состоящая из 'MvPattern'
и разреженной матрицы. Используйте эту опцию, чтобы задать шаблон разреженности матрицы . Разреженная матрица S
имеет S(i,j) = 1
если для любого k
, компонента (i,k)
зависит от j
компонента y
.
MvPattern
для использования ode15s
, ode23t
и ode23tb
, когда MStateDependence
является 'strong'
.
Пример: opts = odeset('MStateDependence','strong','MvPattern',S)
'MassSingular'
Сингулярный переключатель большой матрицы'maybe'
(значение по умолчанию) | 'yes'
| 'no'
Сингулярный переключатель большой матрицы, заданный как пара, разделенная запятой, состоящая из 'MassSingular'
и 'maybe'
, 'yes'
или 'no'
. Значение по умолчанию 'maybe'
заставляет решатель тестировать, является ли проблемой ДАУ путем тестирования, сингулярна ли большая матрица. Избегайте, чтобы это проверило определение 'yes'
, если вы знаете, что система является ДАУ или 'no'
, если это не.
Типы данных: char | string
'InitialSlope'
Сопоставимый начальный наклонСопоставимый начальный наклон, заданный как пара, разделенная запятой, состоящая из 'InitialSlope'
и вектора. Используйте эту опцию с ode15s
и решателями ode23t
при решении ДАУ. Заданный вектор является начальным наклоном таким образом, что . Если заданные начальные условия не сопоставимы, то решатель обработки их как предположения, попытки вычислить сопоставимые значения, которые являются близко к предположениям, и продолжает решать проблему.
Типы данных: single | double
Только для ode15s и ode15i
'MaxOrder'
Максимальный порядок формулы5
(значение по умолчанию) | 4
| 3
| 2
| 1
Максимальный порядок формулы, заданной как пара, разделенная запятой, состоящая из 'MaxOrder'
и целого числа между 1
и 5
. Используйте эту опцию, чтобы задать максимальный порядок, используемый в числовых формулах дифференцирования (NDFs) или формулах дифференцирования назад (BDF), которые используются решателями переменного порядка ode15s
и ode15i
.
'BDF'
— Переключитесь, чтобы использовать BDF с ode15s
'off'
(значение по умолчанию) | 'on'
Переключитесь, чтобы использовать формулы дифференцирования назад (BDF) с ode15s
, заданным как пара, разделенная запятой, состоящая из 'BDF'
и или 'off'
или 'on'
. Числовые формулы дифференцирования по умолчанию (NDFs) обычно более эффективны, чем BDF, но эти два тесно связаны.
Пример: opts = odeset('BDF','on','MaxOrder',4)
включает использование BDF ode15s
порядок имеющий 4
.
Типы данных: char | string
опции
Структура опцийСтруктура опций. options
может использоваться в качестве четвертого входного параметра к ode45
, ode23
, ode113
, ode15s
, ode23s
, ode23t
, ode23tb
или ode15i
.
См. Сводные данные Примеров ОДУ и Файлов для списка примеров ОДУ, которые иллюстрируют использование различных вариантов.
Указания и ограничения по применению:
Все входные параметры должны быть постоянными.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.