Набор опций для mpcmove функция
Задание параметров для mpcmove, mpcmoveAdaptive, и mpcmoveMultiple функции, используйте mpcmoveopt объект.
С помощью этого объекта можно задать значения времени выполнения для подмножества свойств контроллера, таких как вес настройки и ограничения. Если не указано значение для одного из mpcmoveopt вместо этого используется значение соответствующего параметра контроллера.
создает набор параметров по умолчанию для options = mpcmoveoptmpcmove функция. Для изменения значений свойств используйте точечную нотацию.
OutputWeights - Веса настройки выходных переменных[] (по умолчанию) | вектор | массивВыходные веса настройки переменных, заменяющие Weights.OutputVariables свойство контроллера во время выполнения, указанное как вектор или массив неотрицательных значений.
Чтобы использовать одни и те же веса по горизонту прогнозирования, укажите вектор строки длиной Ny, где Ny - количество выходных переменных.
Чтобы изменить веса настройки по горизонту прогнозирования от времени k + 1 до времени k + p, укажите массив со столбцами Ny и до строк p. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит веса настройки выходной переменной для одного шага горизонта прогнозирования. Если указано меньше p строк, веса в последней строке используются для оставшихся шагов горизонта прогнозирования.
Формат OutputWeights должны соответствовать формату Weights.OutputVariables свойства объекта контроллера. Например, нельзя задать постоянные веса по горизонту прогнозирования в объекте контроллера, а затем задать изменяющиеся во времени веса с помощью mpcmoveopt.
MVWeights - Манипулируемые веса переменной настройки[] (по умолчанию) | вектор | массивУправляемые веса настройки переменных, которые заменяют Weights.ManipulatedVariables свойство контроллера во время выполнения, указанное как вектор или массив неотрицательных значений.
Чтобы использовать одни и те же веса по горизонту прогнозирования, укажите вектор строки длиной Nmv, где Nmv - количество манипулируемых переменных.
Чтобы изменять веса настройки по горизонту прогнозирования от времени k до времени k + p-1, укажите массив со столбцами Nmv и до строк p. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит управляемые веса настройки переменной для одного шага горизонта прогнозирования. Если указано меньше p строк, веса в последней строке используются для оставшихся шагов горизонта прогнозирования.
Формат MVWeights должны соответствовать формату Weights.ManipulatedVariables свойства объекта контроллера. Например, нельзя задать постоянные веса по горизонту прогнозирования в объекте контроллера, а затем задать изменяющиеся во времени веса с помощью mpcmoveopt.
MVRateWeights - Манипулируемые веса настройки переменной скорости[] (по умолчанию) | вектор | массивМанипулируемые веса настройки переменной скорости, которые заменяют Weights.ManipulatedVariablesRate свойство контроллера во время выполнения, указанное как вектор или массив неотрицательных значений.
Чтобы использовать одни и те же веса по горизонту прогнозирования, укажите вектор строки длиной Nmv, где Nmv - количество манипулируемых переменных.
Чтобы изменять веса настройки по горизонту прогнозирования от времени k до времени k + p-1, укажите массив со столбцами Nmv и до строк p. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит манипулированные веса настройки переменной скорости для одного шага горизонта прогнозирования. Если указано меньше p строк, веса в последней строке используются для оставшихся шагов горизонта прогнозирования.
Формат MVRateWeights должны соответствовать формату Weights.ManipulatedVariablesRate свойства объекта контроллера. Например, нельзя задать постоянные веса по горизонту прогнозирования в объекте контроллера, а затем задать изменяющиеся во времени веса с помощью mpcmoveopt.
ECRWeight - Вес переменной настройки Slack[] (по умолчанию) | положительный скалярСлабый переменный настроечный вес, заменяющий Weights.ECR свойство контроллера во время выполнения, указанное как положительный скаляр.
OutputMin - Выходные переменные нижние границы[] (по умолчанию) | вектор строки | матрицаНижняя граница выходной переменной, заданная как вектор строки длиной Ny или как матрица со столбцами Ny, где Ny - количество выходных переменных.
Если вы не указали OutputVariables(i).Min имущества mpc объект, затем указание OutputMin приводит к ошибке при выполнении mpcmove.
Чтобы изменить границы по горизонту прогнозирования с времени k + 1 на время k + p, укажите матрицу со столбцами Ny и до строк p. Здесь Ny - количество выходов установки, k - текущее время, p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, границы в последней строке используются для остальных шагов горизонта прогнозирования.
OutputMin(:,i) заменяет OutputVariables(i).Min имущества mpc объект во время выполнения. Поведение замены зависит от размеров обеих переменных.
Скаляр OutputVariables(i).Min в mpc объект (постоянная граница для iВыход из -й установки будет применен ко всем этапам прогнозирования)
OutputMin Измерение | Поведение при замене |
|---|---|
Скаляр OutputMin (одиночный выход, постоянная граница) | OutputMin заменяет постоянную границу, определенную в OutputVariables(i).Min |
Вектор столбца OutputMin (один выход, изменяющаяся во времени граница) | OutputMin заменяет постоянную границу, определенную в OutputVariables(i).Min с изменяющейся во времени границей. |
Вектор строки OutputMin (несколько выходов, постоянные границы) | OutputMin(i) заменяет постоянную границу, определенную в OutputVariables(i).Min |
Матрица OutputMin (несколько выходов, изменяющиеся во времени границы) | OutputMin(:,i) заменяет постоянную границу, определенную в OutputVariables(i).Min с изменяющейся во времени границей. |
Вектор OutputVariables(i).Min в mpc объект (изменяющаяся во времени граница для iВыпуск-й установки с различными значениями на различных этапах прогнозирования)
OutputMin Измерение | Поведение при замене |
|---|---|
Скаляр OutputMin (одиночный выход, постоянная граница) | OutputMin заменяет первую конечную запись в OutputVariables.Min и остальные записи в OutputVariables.Min перемещение вверх или вниз с той же величиной смещения, чтобы сохранить профиль, определенный оригиналом OutputVariables.Min вектор. |
Вектор столбца OutputMin (один выход, изменяющаяся во времени граница) | OutputMin заменяет изменяющуюся во времени границу, определенную в OutputVariables(i).Min, и исходный связанный профиль отбрасывается. |
Вектор строки OutputMin (несколько выходов, постоянные границы) | OutputMin(i) заменяет первую конечную запись в OutputVariables(i).Min и остальные записи в OutputVariables(i).Min перемещение вверх или вниз с той же величиной смещения, чтобы сохранить профиль, определенный оригиналом OutputVariables(i).Min вектор. |
Матрица OutputMin (несколько выходов, изменяющиеся во времени границы). | OutputMin(:,i) заменяет изменяющуюся во времени границу, определенную в OutputVariables(i).Min, и исходный связанный профиль отбрасывается. |
OutputMax - Выходные переменные верхние границы[] (по умолчанию) | вектор строки | матрицаВерхние границы выходных переменных, заданные как вектор строки длиной Ny или как матрица со столбцами Ny, где Ny - количество выходных переменных.
Если вы не указали OutputVariables(i).Max имущества mpc объект, затем указание OutputMax приводит к ошибке при выполнении mpcmove.
Чтобы изменить границы по горизонту прогнозирования с времени k + 1 на время k + p, укажите матрицу со столбцами Ny и до строк p. Здесь Ny - количество выходов установки, k - текущее время, p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, границы в последней строке используются для остальных шагов горизонта прогнозирования.
OutputMax(:,i) заменяет OutputVariables(i).Max имущества mpc объект во время выполнения. Поведение замены зависит от размеров обеих переменных.
Скаляр OutputVariables(i).Max в mpc объект (постоянная граница для iВыход из -й установки будет применен ко всем этапам прогнозирования)
OutputMax Измерение | Поведение при замене |
|---|---|
Скаляр OutputMax (одиночный выход, постоянная граница) | OutputMax заменяет постоянную границу, определенную в OutputVariables(i).Max |
Вектор столбца OutputMax (один выход, изменяющаяся во времени граница) | OutputMax заменяет постоянную границу, определенную в OutputVariables(i).Max с изменяющейся во времени границей. |
Вектор строки OutputMax (несколько выходов, постоянные границы) | OutputMax(i) заменяет постоянную границу, определенную в OutputVariables(i).Max |
Матрица OutputMax (несколько выходов, изменяющиеся во времени границы) | OutputMax(:,i) заменяет постоянную границу, определенную в OutputVariables(i).Max с изменяющейся во времени границей. |
Вектор OutputVariables(i).Max в mpc объект (изменяющаяся во времени граница для iВыпуск-й установки с различными значениями на различных этапах прогнозирования)
OutputMax Измерение | Поведение при замене |
|---|---|
Скаляр OutputMax (одиночный выход, постоянная граница) | OutputMax заменяет первую конечную запись в OutputVariables.Max и остальные записи в OutputVariables.Max перемещение вверх или вниз с той же величиной смещения, чтобы сохранить профиль, определенный оригиналом OutputVariables.Max вектор. |
Вектор столбца OutputMax (один выход, изменяющаяся во времени граница) | OutputMax заменяет изменяющуюся во времени границу, определенную в OutputVariables(i).Max, и исходный связанный профиль отбрасывается. |
Вектор строки OutputMax (несколько выходов, постоянные границы) | OutputMax(i) заменяет первую конечную запись в OutputVariables(i).Max и остальные записи в OutputVariables(i).Max перемещение вверх или вниз с той же величиной смещения, чтобы сохранить профиль, определенный оригиналом OutputVariables(i).Max вектор. |
Матрица OutputMax (несколько выходов, изменяющиеся во времени границы). | OutputMax(:,i) заменяет изменяющуюся во времени границу, определенную в OutputVariables(i).Max, и исходный связанный профиль отбрасывается. |
MVMin - Манипулируемые переменные нижние границы[] (по умолчанию) | вектор строки | матрицаМанипулируемые переменные нижние границы, заданные как вектор строки длиной Nmv или как матрица со столбцами Nmv, где Nmv - количество выходных переменных.
Если вы не указали ManipulatedVariables(i).Min имущества mpc объект, затем указание MVMin приводит к ошибке при выполнении mpcmove.
Чтобы изменить границы по горизонту прогнозирования от времени k к времени k + p-1, укажите матрицу со столбцами Nmv и до строк p. Здесь Nmv - количество манипулируемых переменных, k - текущее время, p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, границы в последней строке используются для остальных шагов горизонта прогнозирования.
MVMin(:,i) заменяет ManipulatedVariables(i).Min имущества mpc объект во время выполнения. Поведение замены зависит от размеров обеих переменных.
Скаляр ManipulatedVariables(i).Min в mpc объект (постоянная граница для iуправляемая переменная, применяемая ко всем шагам прогнозирования)
MVMin Измерение | Поведение при замене |
|---|---|
Скаляр MVMin (одиночный выход, постоянная граница) | MVMin заменяет постоянную границу, определенную в ManipulatedVariables(i).Min |
Вектор столбца MVMin (один выход, изменяющаяся во времени граница) | MVMin заменяет постоянную границу, определенную в ManipulatedVariables(i).Min с изменяющейся во времени границей. |
Вектор строки MVMin (несколько выходов, постоянные границы) | MVMin(i) заменяет постоянную границу, определенную в ManipulatedVariables(i).Min |
Матрица MVMin (несколько выходов, изменяющиеся во времени границы) | MVMin(:,i) заменяет постоянную границу, определенную в ManipulatedVariables(i).Min с изменяющейся во времени границей. |
Вектор ManipulatedVariables(i).Min в mpc объект (изменяющаяся во времени граница для iуправляемая переменная с различными значениями на различных этапах прогнозирования)
MVMin Измерение | Поведение при замене |
|---|---|
Скаляр MVMin (одиночный выход, постоянная граница) | MVMin заменяет первую конечную запись в ManipulatedVariables.Min и остальные записи в ManipulatedVariables.Min перемещение вверх или вниз с той же величиной смещения, чтобы сохранить профиль, определенный оригиналом ManipulatedVariables.Min вектор. |
Вектор столбца MVMin (один выход, изменяющаяся во времени граница) | MVMin заменяет изменяющуюся во времени границу, определенную в ManipulatedVariables(i).Min, и исходный связанный профиль отбрасывается. |
Вектор строки MVMin (несколько выходов, постоянные границы) | MVMin(i) заменяет первую конечную запись в ManipulatedVariables(i).Min и остальные записи в ManipulatedVariables(i).Min перемещение вверх или вниз с той же величиной смещения, чтобы сохранить профиль, определенный оригиналом ManipulatedVariables(i).Min вектор. |
Матрица MVMin (несколько выходов, изменяющиеся во времени границы). | MVMin(:,i) заменяет изменяющуюся во времени границу, определенную в ManipulatedVariables(i).Min, и исходный связанный профиль отбрасывается. |
MVMax - Манипулируемые переменные верхние границы[] (по умолчанию) | вектор строки | матрицаМанипулируемые переменные верхние границы, заданные как вектор строки длиной Nmv или как матрица со столбцами Nmv, где Nmv - количество выходных переменных.
Если вы не указали ManipulatedVariables(i).Max имущества mpc объект, затем указание MVMax приводит к ошибке при выполнении mpcmove.
Чтобы изменить границы по горизонту прогнозирования от времени k к времени k + p-1, укажите матрицу со столбцами Nmv и до строк p. Здесь Nmv - количество манипулируемых переменных, k - текущее время, p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, границы в последней строке используются для остальных шагов горизонта прогнозирования.
MVMax(:,i) заменяет ManipulatedVariables(i).Max имущества mpc объект во время выполнения. Поведение замены зависит от размеров обеих переменных.
Скаляр ManipulatedVariables(i).Max в mpc объект (постоянная граница для iуправляемая переменная, применяемая ко всем шагам прогнозирования)
MVMax Измерение | Поведение при замене |
|---|---|
Скаляр MVMax (одиночный выход, постоянная граница) | MVMax заменяет постоянную границу, определенную в ManipulatedVariables(i).Max |
Вектор столбца MVMax (один выход, изменяющаяся во времени граница) | MVMax заменяет постоянную границу, определенную в ManipulatedVariables(i).Max с изменяющейся во времени границей. |
Вектор строки MVMax (несколько выходов, постоянные границы) | MVMax(i) заменяет постоянную границу, определенную в ManipulatedVariables(i).Max |
Матрица MVMax (несколько выходов, изменяющиеся во времени границы) | MVMax(:,i) заменяет постоянную границу, определенную в ManipulatedVariables(i).Max с изменяющейся во времени границей. |
Вектор ManipulatedVariables(i).Max в mpc объект (изменяющаяся во времени граница для iуправляемая переменная с различными значениями на различных этапах прогнозирования)
MVMax Измерение | Поведение при замене |
|---|---|
Скаляр MVMax (одиночный выход, постоянная граница) | MVMax заменяет первую конечную запись в ManipulatedVariables.Max и остальные записи в ManipulatedVariables.Max перемещение вверх или вниз с той же величиной смещения, чтобы сохранить профиль, определенный оригиналом ManipulatedVariables.Max вектор. |
Вектор столбца MVMax (один выход, изменяющаяся во времени граница) | MVMax заменяет изменяющуюся во времени границу, определенную в ManipulatedVariables(i).Max, и исходный связанный профиль отбрасывается. |
Вектор строки MVMax (несколько выходов, постоянные границы) | MVMax(i) заменяет первую конечную запись в ManipulatedVariables(i).Max и остальные записи в ManipulatedVariables(i).Max перемещение вверх или вниз с той же величиной смещения, чтобы сохранить профиль, определенный оригиналом ManipulatedVariables(i).Max вектор. |
Матрица MVMax (несколько выходов, изменяющиеся во времени границы). | MVMax(:,i) заменяет изменяющуюся во времени границу, определенную в ManipulatedVariables(i).Max, и исходный связанный профиль отбрасывается. |
CustomConstraint - Настраиваемые смешанные ограничения ввода/вывода[] (по умолчанию) | структураНастраиваемые смешанные ограничения ввода/вывода, заданные как структура со следующими полями. Эти ограничения заменяют смешанные ограничения ввода/вывода, ранее установленные с помощью setconstraint.
E - константа регулируемой зависимостиКонстанта изменяемой зависимости, заданная как массив Nc-by-Nmv, где Nc - количество зависимостей, а Nmv - количество обрабатываемых переменных.
F - Константа регулируемого выходного ограниченияКонстанта ограничения управляемого выхода, заданная как массив Nc-by-Ny, где Ny - количество контролируемых выходов (измеренных и неизмеренных).
G - Константа смешанного ограничения ввода/выводаКонстанта смешанного ограничения ввода/вывода, заданная как вектор столбца длиной Nc.
S - Измеренная константа ограничения возмущенияИзмеренная константа ограничения возмущения, заданная как массив Nc-by-Nmd, где Nmd - количество измеренных возмущений.
OnlyComputeCost - Флаг, указывающий, следует ли вычислять оптимальную последовательность управления0 (по умолчанию) | 1Флаг, указывающий, следует ли вычислять оптимальную последовательность управления, заданную как одно из следующих значений:
0 - Контроллер возвращает предсказанные оптимальные перемещения управления в дополнение к значению стоимости целевой функции.
1 - Контроллер возвращает только стоимость целевой функции, что экономит вычислительные усилия.
MVused - управляемые переменные значения, используемые на заводе в течение предыдущего интервала управления;[] (по умолчанию) | вектор строкиЗначения манипулируемых переменных, используемые в установке в течение предыдущего контрольного интервала, заданного как вектор строки длины Nmv, где Nmv - количество манипулируемых переменных. Если не указать MVused, mpvmove использует LastMove свойство его входного аргумента текущего состояния контроллера, x.
MVTarget - Управляемые переменные цели[] (по умолчанию) | вектор строкиМанипулируемые переменные цели, указанные как вектор строки длиной Nmv, где Nmv - количество манипулируемых переменных. MVTarget(i) заменяет ManipulatedVariables(i).Target свойства контроллера во время выполнения.
PredictionHorizon - Горизонт прогнозирования[] (по умолчанию) | положительное целое числоГоризонт прогнозирования, который заменяет PredictionHorizon свойство контроллера во время выполнения, указанное как положительное целое число. При указании PredictionHorizon, необходимо также указать ControlHorizon.
Определение PredictionHorizon изменяет:
Количество строк в оптимальных последовательностях, возвращаемых mpcmove и mpcmoveAdaptive функции
Максимальные размеры Plant и Nominal входные аргументы mpcmoveAdaptive
Этот параметр игнорируется mpcmoveMultiple функция.
ControlHorizon - Горизонт управления[] (по умолчанию) | положительное целое | вектор положительных целых чиселГоризонт управления, который заменяет ControlHorizon свойство контроллера во время выполнения, указанное как одно из следующих:
Положительное целое число, m, между 1 и p, включительно, где p равно PredictionHorizon. В этом случае контроллер вычисляет m свободных перемещений управления, происходящих в моменты времени от k до k + m-1, и удерживает выходную константу контроллера для оставшихся шагов горизонта прогнозирования от k + m до k + p-1. Здесь k - текущий интервал управления. Для оптимального планирования траектории установите m равным p.
Вектор положительных целых чисел, [m1, m2,...], где сумма целых чисел равна горизонту предсказания, р. В этом случае контроллер вычисляет M блоков свободных перемещений, где M - длина ControlHorizon вектор. Первое свободное перемещение применяется к временам k-k + m1-1, второе свободное перемещение применяется от времени k + m1-k + m1 + m2-1 и так далее. Использование блокировочных перемещений может повысить надежность контроллера по сравнению со случаем по умолчанию.
При указании ControlHorizon, необходимо также указать PredictionHorizon.
Этот параметр игнорируется mpcmoveMultiple функция.
mpcmove | Вычислите оптимальное действие управления и обновите состояния контроллера |
mpcmoveAdaptive | Вычисление оптимального управления с обновлением модели прогнозирования |
mpcmoveMultiple | Вычислить действие управления MPC с планированием усиления в один момент времени |
Изменение верхней границы управляемой переменной во время моделирования.
Определите завод, который включает 4-секундную задержку ввода. Преобразование в модель без задержки, дискретную модель с пространством состояний с использованием 2-секундного интервала управления. Создайте соответствующий контроллер по умолчанию и укажите границы среднего напряжения в +/-2.
Ts = 2;
Plant = absorbDelay(c2d(ss(tf(0.8,[5 1],'InputDelay',4)),Ts));
MPCobj = mpc(Plant,Ts);-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10. -->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2. -->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000. -->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000. -->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.
MPCobj.MV(1).Min = -2; MPCobj.MV(1).Max = 2;
Создать пустой mpcmoveopt объект. Во время моделирования можно задать свойства объекта для задания параметров контроллера.
options = mpcmoveopt;
Предварительное выделение ресурсов хранения и инициализация состояния контроллера.
v = []; t = [0:Ts:20]; N = length(t); y = zeros(N,1); u = zeros(N,1); x = mpcstate(MPCobj);
-->Assuming output disturbance added to measured output channel #1 is integrated white noise. -->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
Использовать mpcmove для моделирования следующего:
Эталонное (уставка) изменение шага с начального условия r = 0 на r = 1 (сервопривод)
Ступень верхней границы СН уменьшается с 2 до 1 при t = 10
r = 1; for i = 1:N y(i) = Plant.C*x.Plant; if t(i) >= 10 options.MVMax = 1; end [u(i),Info] = mpcmove(MPCobj,x,y(i),r,v,options); end
При выполнении цикла значение options.MVMax сбрасывается на 1 для всех итераций, которые происходят после t = 10. До этой итерации, options.MVMax пуст. Следовательно, значение контроллера для MVMax используется, MPCobj.MV(1).Max = 2.
Постройте график результатов моделирования.
[Ts,us] = stairs(t,u); plot(Ts,us,'b-',t,y,'r-') legend('MV','OV') xlabel(sprintf('Time, %s',Plant.TimeUnit))

На графике видно, что исходная верхняя граница СН активна до t = 4. После задержки ввода в 4 секунды выходная переменная (OV) плавно перемещается к своей новой цели r = 1. достижение цели при t = 10. Новая граница MV, наложенная при t = 10, немедленно становится активной. Это приводит к тому, что OV оказывается ниже своей цели по истечении задержки на входе.
Теперь предположим, что требуется наложить верхнюю границу OV в указанном месте относительно цели OV. Рассмотрим следующую команду проектирования зависимостей:
MPCobj.OV(1).Max = [Inf,Inf,0.4,0.3,0.2];
Это горизонтально изменяющееся ограничение. Известная задержка ввода делает невозможным для контроллера удовлетворение ограничения OV перед третьим шагом горизонта прогнозирования. Поэтому конечное ограничение на первых двух этапах было бы плохой практикой. В иллюстративных целях предыдущее ограничение также уменьшается с 0,4 на этапе 3 до 0,2 на этапе 5 и после этого.
Следующие команды дают те же результаты, что и на предыдущем графике. Ограничение OV никогда не активируется, поскольку оно изменяется в соответствии с уставкой r.
x = mpcstate(MPCobj);
-->Assuming output disturbance added to measured output channel #1 is integrated white noise. -->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
OPTobj = mpcmoveopt; for i = 1:N y(i) = Plant.C*x.Plant; if t(i) >= 10 OPTobj.MVMax = 1; end OPTobj.OutputMax = r + 0.4; [u(i),Info] = mpcmove(MPCobj,x,y(i),r,v,OPTobj); end
Скалярное значение r + 0,4 заменяет первое конечное значение в MPCobj.OV(1).Max вектор, а остальные конечные значения подстраиваются для сохранения исходного профиля, то есть численная разница между этими значениями остается неизменной. r = 1 для моделирования, поэтому предыдущее использование mpcmoveopt объект эквивалентен команде
MPCobj.OV(1).Max = [Inf, Inf, 1.4, 1.3, 1.2];
Тем не менее, использование mpcmoveopt объект включает гораздо меньше вычислительных издержек.
Если переменная не ограничена в начальной конструкции контроллера, ее нельзя ограничить с помощью mpcmoveopt. Контроллер игнорирует любые такие спецификации.
Нельзя удалить ограничение из переменной, которая ограничена в начальной конструкции контроллера. Однако его можно изменить на большое (или малое) значение, так что он вряд ли станет активным.
mpc | mpcmove | setconstraint | setterminal
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.