Создание или изменение структуры опций для решателей ODE и PDE
создает структуру опций, которую можно передать в качестве аргумента решателям ODE и PDE. В структуре, 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Третий компонент раствора. Для успешного выполнения шаг должен иметь допустимую ошибку, определяемую как относительным, так и абсолютным допуском ошибки:
|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Третий компонент раствора. Для успешного выполнения шаг должен иметь допустимую ошибку, определяемую как относительным, так и абсолютным допуском ошибки:
|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' и дескриптор функции. Решатель ODE вызывает функцию вывода после каждого успешного шага времени. При вызове решателя ODE без выходных данных функция вывода по умолчанию имеет значение @odeplot, который отображает все компоненты решения по мере их вычисления. В противном случае значение по умолчанию - [].
Это встроенные функции вывода, которые можно использовать с OutputFcn:
| Имя функции | Описание |
|---|---|
odeplot | Постройте график между всеми компонентами решения и временем |
odephas2 | 2-й сюжет самолета фазы первых двух компонентов решения |
odephas3 | 3D сюжет самолета фазы первых трех компонентов решения |
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) увеличивает количество выходных точек в пять раз.
'Stats' - Статистика решателя'off' (по умолчанию) | 'on'Статистика решателя, указанная как разделенная запятыми пара, состоящая из 'Stats' и 'on' или 'off'. Когда 'on', решатель отображает информацию после завершения решения:
Количество успешных шагов
Число неудачных попыток
Количество вызовов функции ОДУ для оценки y)
Неявные решатели отображают дополнительную информацию о решении:
Количество операций формирования матрицы частных производных
Количество разложений логической единицы
Количество решений линейных систем
Пример: 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)
Для PDE: Функция события, указанная дескриптором функции, должна иметь общий вид
[value,isterminal,direction] = myEventsFcn(m,t,xmesh,umesh)
В обоих случаях value, isterminal, и direction являются векторами, i-й элемент соответствует iФункция события:
value(i) - значение iФункция «-е событие».
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 не изменяет шаги, выполняемые решателем.
Примеры функций события ОДУ, которые обнаруживают отскоки шара и орбиты небесных тел, см. в разделе Местоположение события ОДУ.
Пример функции события PDE, обнаруживающей пересечения нулей колебательного решения, см. в разделе Решение колебательного 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' и разреженную матрицу. Разреженная матрица содержит 1s, где могут быть ненулевые записи в Jacobian. Решатель ОДУ использует шаблон разреженности для численной генерации разреженной матрицы якобиана. Используйте эту опцию, чтобы увеличить время выполнения, когда система ОДУ большая и вы не можете предоставить аналитический якобиан.
Для 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'. Используйте эту опцию, чтобы сообщить решателю ODE, что функция закодирована так, что она принимает и возвращает векторы для второго аргумента. То есть 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' и дескриптор матрицы или функции. Решатели ОДУ могут решать задачи, содержащие массовую матрицу вида (t, y), M (t, y) является массовой матрицей, которая может быть полной или разреженной (ode23s решатель может решать только уравнения с матрицами постоянной массы).
Когда массовая матрица не является сингулярной, уравнение упрощается до (t, y) и ОДУ имеет решение для любого начального значения. Однако часто более удобно и естественно экспрессировать модель в терминах матрицы массы непосредственно, '= f (t, y), и исключение вычисления обратной матрицы уменьшает время хранения и выполнения, необходимое для решения проблемы.
Когда y) является сингулярной матрицей, то задача состоит в системе дифференциальных алгебраических уравнений (DAE). Дисковая полка имеет решение только тогда, когдаy0 является непротиворечивым; то есть существует начальный уклон yp0 такой, что M(t0,y0)yp0 = f(t0,y0), где yp0 задается с помощью InitialSlope вариант. Для дисковых полок характерен их дифференциальный индекс или количество производных, необходимых для упрощения системы до эквивалентной системы ОДУ. Для дисковых полок с индексом 1 решение задачи начального значения с согласованными начальными условиями во многом аналогично решению ОДУ. ode15s и ode23t решатели могут решать дисковые полки индекса 1. При решении дисковых полок выгодно формулировать задачу так, чтобы массовая матрица была диагональной матрицей (полукликтовой DAE).
Во всех случаях массовые матрицы, зависящие от времени или состояния (вместо константы), требуют использования дополнительных опций:
Для задач вида (t, y) установитеMStateDependence опция для 'none'. Это гарантирует, что решатель вызовет функцию массовой матрицы с одним входным аргументом для t.
Если массовая матрица зависит от y, затем установить MStateDependence к также 'weak' (по умолчанию) или 'strong'. В обоих случаях решатель вызывает функцию матрицы масс с двумя входами (t,y), но 'weak' опция приводит к неявным решателям, использующим аппроксимации при решении алгебраических уравнений.
Если система содержит множество уравнений с сильно зависимой от состояния массовой матрицей y), то установитеMvPattern к разреженной матрице S для задания шаблона разреженности.
Пример: Файлы примеров fem2ode и batonode иллюстрируют различные виды использования матрицы масс.
Типы данных: single | double | function_handle
'MStateDependence' - Зависимость от состояния матрицы масс'weak' (по умолчанию) | 'none' | 'strong'Зависимость состояния матрицы масс, определяемая как разделенная запятыми пара, состоящая из 'MStateDependence и 'weak', 'strong', или 'none'.
Для задач вида (t, y) установитеMStateDependence опция для 'none'. Это гарантирует, что решатель вызовет функцию массовой матрицы с одним входным аргументом для t.
Если массовая матрица зависит от y, затем установить MStateDependence к также 'weak' (по умолчанию) или 'strong'. В обоих случаях решатель вызывает функцию матрицы масс с двумя входами (t,y), но 'weak' опция приводит к неявным решателям, использующим аппроксимации при решении алгебраических уравнений.
Пример: opts = odeset('Mass',@M,'MStateDependence','none') указывает, что массовая матрица M зависит только от t.
Типы данных: char | string
'MvPattern' - Шаблон разреженности матрицы массМассовая матрица разреженности, заданная как разделенная запятыми пара, состоящая из 'MvPattern' и разреженную матрицу. Эта опция используется для задания шаблона разреженности матрицы v]. Разреженная матрицаS имеет S(i,j) = 1 если для любого k, (i,k) компонент y) зависит от компонента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 решатели при решении дисковых полок. Указанный вектор представляет собой начальный наклон 0, так что (t0, y0). Если указанные начальные условия не согласованы, то решатель рассматривает их как догадки, пытается вычислить согласованные значения, близкие к догадкам, и продолжает решать проблему.
Типы данных: single | double
ode15s и ode15i'MaxOrder' - Максимальный порядок формулы5 (по умолчанию) | 4 | 3 | 2 | 1Максимальный порядок формулы, определяемый как разделенная запятыми пара, состоящая из 'MaxOrder' и целое число между 1 и 5. Эта опция используется для указания максимального порядка, используемого в формулах числового дифференцирования (NDF) или формулах обратного дифференцирования (BDF), которые используются решателями переменного порядка. ode15s и ode15i.
'BDF' - Переключение для использования BDF с ode15s'off' (по умолчанию) | 'on'Переключение для использования формул обратного дифференцирования (BDF) с ode15s, указанная как пара, разделенная запятыми, состоящая из 'BDF' и либо 'off' или 'on'. Формулы численного дифференцирования по умолчанию (NDF) обычно более эффективны, чем 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.