Создайте или измените структуру опций для решателей УЧП и ОДУ
создает структуру опций, которую можно передать в качестве аргумента решателям УЧП и ОДУ. В структуре, 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
имя аргумента и 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'
— Фактор улучшения решения
(большинство решателей) или 4
ode45
только) (значение по умолчанию) | скалярФактор улучшения решения в виде разделенной запятой пары, состоящей из 'Refine'
и скаляр. Скаляр задает фактор, которым количество выходных точек должно увеличиться на каждом шаге.
Если фактором улучшения является 1
, затем решатель возвращает решения только в конце каждого шага.
Если фактором улучшения является n>1
, затем решатель подразделяет каждый шаг на n
меньшие интервалы и возвращают решения в каждой точке.
Значением по умолчанию для большинства решателей является 1
, но ode45
использует значение по умолчанию 4
компенсировать большие размеры шага.
Дополнительные значения, произведенные фактором улучшения, вычисляются посредством непрерывных дополнительных формул. Это специализированные формулы, используемые решателями ОДУ, чтобы получить точные решения между вычисленными временными шагами без значительного увеличения во время вычисления.
Refine
не применяется когда length(tspan) > 2
, или когда решатель ОДУ возвращает решение как структуру.
Пример: opts = odeset('Refine',5)
увеличивает число выходных точек фактором пять.
'Stats'
— Статистика решателя'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'
— Функция событияФункция события в виде разделенной запятой пары, состоящей из 'Events'
и указатель на функцию, такой как @myEventsFcn
.
Для ОДУ: функция события, заданная указателем на функцию, должна иметь общую форму
[value,isterminal,direction] = myEventsFcn(t,y)
Для УЧП: функция события, заданная указателем на функцию, должна иметь общую форму
[value,isterminal,direction] = myEventsFcn(m,t,xmesh,umesh)
В обоих случаях, 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
.
Корневой механизм нахождения, используемый решателем ODE/PDE в сочетании с функцией события, имеет эти ограничения:
Если терминальное событие имеет место во время первого шага интегрирования, то решатель указывает событие как нетерминальное и продолжает объединяться.
Если больше чем одно терминальное событие имеет место во время первого шага, то только первые регистры события и решатель продолжают объединяться.
Нули определяются пересечениями знака между шагами. Поэтому нули с четным числом пересечений между шагами могут быть пропущены.
Если прошедшие события шагов решателя, попытайтесь уменьшать RelTol
и AbsTol
улучшить точность. В качестве альтернативы установите MaxStep
поместить верхнюю границу в размер шага. Корректировка tspan
не изменяет шаги, сделанные решателем.
Смотрите Местоположение События ОДУ для примеров функций события ODE, которые обнаруживают возвраты шара и орбиты небесных тел.
Смотрите Решают Колебательный УЧП с Регистрацией событий для примера функции события PDE обнаружение нулевых пересечений колебательного решения.
Типы данных: 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'
— Максимальный порядок формулы
(значение по умолчанию) | 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
— Структура опцийСтруктура опций. options
может использоваться в качестве четвертого входного параметра к ode45
ode23
ode113
ode15s
ode23s
ode23t
ode23tb
, или ode15i
.
См. Сводные данные Примеров ОДУ и Файлов для списка примеров ОДУ, которые иллюстрируют использование различных вариантов.
Указания и ограничения по применению:
Все входные параметры должны быть постоянными.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.