Набор опций для nlmpcmove функция
Задание параметров для nlmpcmove функция, используйте nlmpcmoveopt набор опций.
С помощью этого набора опций можно задать значения времени выполнения для подмножества свойств контроллера, таких как вес настройки и ограничения. Если не указано значение для одного из nlmpcmoveopt свойства, соответствующее значение, определенное в nlmpc вместо него используется объект контроллера.
создает набор параметров по умолчанию для options = nlmpcmoveoptnlmpcmove функция. Для изменения значений свойств используйте точечную нотацию.
OutputWeights - Веса настройки выходных переменных[] (по умолчанию) | вектор строки | матрицаВыходные веса настройки переменных, заменяющие Weights.OutputVariables свойство контроллера во время выполнения, указанное как вектор строки или матрица неотрицательных значений.
Чтобы использовать одни и те же веса по горизонту прогнозирования, укажите вектор строки длиной Ny, где Ny - количество выходных переменных.
Чтобы изменить веса настройки по горизонту прогнозирования от времени k + 1 до времени k + p, укажите массив со столбцами Ny и до строк p. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит веса настройки выходной переменной для одного шага горизонта прогнозирования. Если указано меньше p строк, веса в последней строке используются для оставшихся шагов горизонта прогнозирования.
MVWeights - Манипулируемые веса переменной настройки[] (по умолчанию) | вектор строки | матрицаУправляемые веса настройки переменных, которые заменяют Weights.ManipulatedVariables свойство контроллера во время выполнения, указанное как вектор строки или матрица неотрицательных значений.
Чтобы использовать одни и те же веса по горизонту прогнозирования, укажите вектор строки длиной Nmv, где Nmv - количество манипулируемых переменных.
Чтобы изменять веса настройки по горизонту прогнозирования от времени k до времени k + p-1, укажите массив со столбцами Nmv и до строк p. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит управляемые веса настройки переменной для одного шага горизонта прогнозирования. Если указано меньше p строк, веса в последней строке используются для оставшихся шагов горизонта прогнозирования.
MVRateWeights - Манипулируемые веса настройки переменной скорости[] (по умолчанию) | вектор строки | матрицаМанипулируемые веса настройки переменной скорости, которые заменяют Weights.ManipulatedVariablesRate свойство контроллера во время выполнения, указанное как вектор строки или матрица неотрицательных значений.
Чтобы использовать одни и те же веса по горизонту прогнозирования, укажите вектор строки длиной Nmv, где Nmv - количество манипулируемых переменных.
Чтобы изменять веса настройки по горизонту прогнозирования от времени k до времени k + p-1, укажите массив со столбцами Nmv и до строк p. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит манипулированные веса настройки переменной скорости для одного шага горизонта прогнозирования. Если указано меньше p строк, веса в последней строке используются для оставшихся шагов горизонта прогнозирования.
ECR Weight - Вес переменной настройки Slack[] (по умолчанию) | положительный скалярСлабый переменный настроечный вес, заменяющий Weights.ECR свойство контроллера во время выполнения, указанное как положительный скаляр.
OutputMin - Выходные переменные нижние границы[] (по умолчанию) | вектор строки | матрицаНижняя граница выходной переменной, заданная как вектор строки длиной Ny или матрица со столбцами Ny, где Ny - количество выходных переменных. OutputMin(:,i) заменяет OutputVariables(i).Min свойства контроллера во время выполнения.
Чтобы использовать те же границы по горизонту прогнозирования, укажите вектор строки.
Чтобы изменить границы по горизонту прогнозирования от времени k + 1 до времени k + p, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, конечные границы используются для оставшихся шагов горизонта прогнозирования.
OutputMax - Выходные переменные верхние границы[] (по умолчанию) | вектор строки | матрицаВерхние границы выходных переменных, заданные как вектор строки длиной Ny или матрица со столбцами Ny, где Ny - количество выходных переменных. OutputMax(:,i) заменяет OutputVariables(i).Max свойства контроллера во время выполнения.
Чтобы использовать те же границы по горизонту прогнозирования, укажите вектор строки.
Чтобы изменить границы по горизонту прогнозирования от времени k + 1 до времени k + p, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, конечные границы используются для оставшихся шагов горизонта прогнозирования.
MVMin - Манипулируемые переменные нижние границы[] (по умолчанию) | вектор строки | матрицаНижние границы манипулируемой переменной, задаваемые как вектор строки длиной Nmv или матрица со столбцами Nmv, где Nmv - количество манипулируемых переменных. MVMin(:,i) заменяет ManipulatedVariables(i).Min свойства контроллера во время выполнения.
Чтобы использовать те же границы по горизонту прогнозирования, укажите вектор строки.
Чтобы изменять границы по горизонту прогнозирования от времени k до времени k + p-1, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, конечные границы используются для оставшихся шагов горизонта прогнозирования.
MVMax - Манипулируемые переменные верхние границы[] (по умолчанию) | вектор строки | матрицаВерхние границы манипулируемых переменных, заданные как вектор строки длиной Nmv или матрица со столбцами Nmv, где Nmv - количество манипулируемых переменных. MVMax(:,i) заменяет ManipulatedVariables(i).Max свойства контроллера во время выполнения.
Чтобы использовать те же границы по горизонту прогнозирования, укажите вектор строки.
Чтобы изменять границы по горизонту прогнозирования от времени k до времени k + p-1, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, конечные границы используются для оставшихся шагов горизонта прогнозирования.
MVRateMin - Манипулируемые нижние границы переменной скорости[] (по умолчанию) | вектор строки | матрицаНижние границы манипулируемой переменной скорости, заданные как вектор строки длиной Nmv или матрица со столбцами Nmv, где Nmv - количество манипулируемых переменных. MVRateMin(:,i) заменяет ManipulatedVariables(i).RateMin свойства контроллера во время выполнения. MVRateMin границы должны быть непозволительными.
Чтобы использовать те же границы по горизонту прогнозирования, укажите вектор строки.
Чтобы изменять границы по горизонту прогнозирования от времени k до времени k + p-1, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, конечные границы используются для оставшихся шагов горизонта прогнозирования.
MVRateMax - Манипулируемые верхние границы переменной скорости[] (по умолчанию) | вектор строки | матрицаВерхние границы манипулируемой переменной скорости, заданные как вектор строки длиной Nmv или матрица со столбцами Nmv, где Nmv - количество манипулируемых переменных. MVRateMax(:,i) заменяет ManipulatedVariables(i).RateMax свойства контроллера во время выполнения. MVRateMax границы должны быть неотрицательными.
Чтобы использовать те же границы по горизонту прогнозирования, укажите вектор строки.
Чтобы изменять границы по горизонту прогнозирования от времени k до времени k + p-1, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, конечные границы используются для оставшихся шагов горизонта прогнозирования.
StateMin - Нижние границы состояния[] (по умолчанию) | вектор строки | матрицаНижние границы состояния, заданные как вектор строки длиной Nx или матрица со столбцами Nx, где Nx - число состояний. StateMin(:,i) заменяет States(i).Min свойства контроллера во время выполнения.
Чтобы использовать те же границы по горизонту прогнозирования, укажите вектор строки.
Чтобы изменить границы по горизонту прогнозирования от времени k + 1 до времени k + p, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, конечные границы используются для оставшихся шагов горизонта прогнозирования.
StateMax - Верхние границы состояния[] (по умолчанию) | вектор строки | матрицаВерхние границы состояния, заданные как вектор строки длиной Nx или матрица со столбцами Nx, где Nx - число состояний. StateMax(:,i) заменяет States(i).Max свойства контроллера во время выполнения.
Чтобы использовать те же границы по горизонту прогнозирования, укажите вектор строки.
Чтобы изменить границы по горизонту прогнозирования от времени k + 1 до времени k + p, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит границы для одного шага горизонта прогнозирования. Если указано меньше p строк, конечные границы используются для оставшихся шагов горизонта прогнозирования.
MVTarget - Управляемые переменные цели[] (по умолчанию) | вектор строки | матрицаУправляемые переменные цели, определяемые как вектор строки длиной Nmv или матрица со столбцами Nmv, где Nmv - количество управляемых переменных.
Чтобы использовать одни и те же управляемые переменные цели по всему горизонту прогнозирования, укажите вектор строки.
Чтобы изменять цели по горизонту прогнозирования (предварительный просмотр) от времени k до времени k + p-1, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит цели для одного шага горизонта прогнозирования. Если указано меньше p строк, конечные цели используются для оставшихся шагов горизонта прогнозирования.
Parameters - Значения параметров{} (по умолчанию) | вектор ячейкиЗначения параметров, используемые моделью прогнозирования, функцией пользовательских затрат и пользовательскими ограничениями, заданными как вектор ячейки с длиной, равной Model.NumberOfParameters свойства контроллера. Если у контроллера нет параметров, то Parameters должно быть {}.
Контроллер, nlmpcobj, передает эти параметры в:
Функции модели в nlmpcobj.Model (StateFcn и OutputFcn)
Функция затрат nlmpcobj.Optimization.CustomCostFcn
Функции ограничения в nlmpcobj.Optimization (CustomEqConFcn и CustomIneqConFcn)
Якобиан функционирует в nlmpcobj.Jacobian
Порядок параметров должен соответствовать порядку, определенному для этих функций.
X0 - Начальные догадки для оптимальных решений состояния[] (по умолчанию) | вектор | матрицаНачальные догадки для решений оптимального состояния, заданные как вектор строки длиной Nx или матрица со столбцами Nx, где Nx - число состояний.
Чтобы использовать одни и те же начальные догадки для всего горизонта прогнозирования, укажите вектор строки.
Чтобы изменить начальные догадки по горизонту прогнозирования от времени k + 1 до времени k + p, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит начальные догадки для одного шага горизонта прогнозирования. Если указано меньше p строк, последние предположения используются для оставшихся шагов горизонта прогнозирования.
Если X0 является [], начальные догадки по умолчанию - это текущие состояния модели прогнозирования (x входной аргумент для nlmpcmove).
Как правило, при моделировании с замкнутым контуром не указывается X0 себя. Вместо этого при вызове nlmpcmove, вернуть opt выходной аргумент, который является nlmpcmoveopt объект. opt.X0 содержит рассчитанные оптимальные траектории состояния в качестве начальных предположений. Затем вы можете пройти opt в качестве options входной аргумент для nlmpcmove для следующего интервала управления. Эти шаги являются оптимальными, даже если не указаны другие параметры времени выполнения.
MV0 - Начальные догадки для оптимальных регулируемых решений[] (по умолчанию) | вектор | матрицаНачальные предположения для оптимальных решений с управляемыми переменными, определяемые как вектор строки длиной Nmv или матрица со столбцами Nmv, где Nmv - количество манипулируемых переменных.
Чтобы использовать одни и те же начальные догадки для всего горизонта прогнозирования, укажите вектор строки.
Чтобы варьировать начальные догадки по горизонту прогнозирования от времени k до времени k + p-1, укажите матрицу, содержащую до p строк. Здесь k - текущее время, а p - горизонт прогнозирования. Каждая строка содержит начальные догадки для одного шага горизонта прогнозирования. Если указано меньше p строк, последние предположения используются для оставшихся шагов горизонта прогнозирования.
Если MV0 является [], начальные догадки по умолчанию - управляющие сигналы, используемые в установке на предыдущем интервале управления (lastmv входной аргумент для nlmpcmove).
Как правило, при моделировании с замкнутым контуром не указывается MV0 себя. Вместо этого при вызове nlmpcmove, вернуть opt выходной аргумент, который является nlmpcmoveopt объект. opt.MV0 содержит рассчитанные оптимальные траектории манипулируемых переменных в качестве начальных предположений. Затем вы можете пройти opt в качестве options входной аргумент для nlmpcmove для следующего интервала управления. Эти шаги являются оптимальными, даже если не указаны другие параметры времени выполнения.
Slack0 - Начальное предположение для переменной слабости в решении[] (по умолчанию) | неотрицательный скаляр Начальное предположение для переменной слабости в решении, определяемое как неотрицательный скаляр. Если Slack0 является [], начальное предположение по умолчанию: 0.
Как правило, при моделировании с замкнутым контуром не указывается Slack0 себя. Вместо этого при вызове nlmpcmove, вернуть opt выходной аргумент, который является nlmpcmoveopt объект. opt.Slack содержит вычисленную переменную слабости в качестве начального предположения. Затем вы можете пройти opt в качестве options входной аргумент для nlmpcmove для следующего интервала управления. Эти шаги являются оптимальными, даже если не указаны другие параметры времени выполнения.
nlmpcmove | Вычислите оптимальное действие управления для нелинейного контроллера MPC |
Создание значения по умолчанию nlmpcmoveopt набор опций.
options = nlmpcmoveopt;
Укажите значения времени выполнения для параметров модели прогнозирования контроллера. В этом примере предположим, что контроллер имеет следующие необязательные параметры, которые являются входными аргументами для всех функций модели прогнозирования и пользовательских функций контроллера.
Время образца модели, указанное как одно числовое значение. Укажите значение 0.25.
Коэффициенты усиления, заданные как двухэлементный вектор строки. Укажите значение [0.7 0.35].
Порядок, в котором указываются параметры, должен соответствовать порядку, указанному в списках аргументов пользовательской функции. Кроме того, размеры параметров должны соответствовать размерам, ожидаемым пользовательскими функциями.
options.Parameters = {0.25,[0.7 0.35]};Чтобы использовать эти параметры при вычислении дополнительных управляющих действий для нелинейного контроллера MPC, передайте options в nlmpcmove функция.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.