Получите имена сигналов ввода-вывода из модели объекта управления MPC
Создайте объект plant и MPC, а затем получите имена некоторых входных и выходных сигналов.
mpcverbosity off; % turn off mpc messages % create plant model plant = rss(4,4,4); % random state space plant.D = 0; % set D matrix to zero % set signals type in plant model plant = setmpcsignals(plant,'MV',1,'MD',3,'UD',4,'MO',1,'UO',[3 4]); % create MPC object mpcobj=mpc(plant,1); % sampling time = 1 second
Получите имена входных сигналов
% get input signal names getname(mpcobj,'input',1) % get name of first input signal ans = 'MV1' getname(mpcobj,'input',2) % get name of second input signal ans = 'MV2' getname(mpcobj,'input',3) % get name of third input signal ans = 'MD1' getname(mpcobj,'input',4) % get name of fourth input signal ans = 'UD1'
Получите имена выхода сигналов
% get output signal names getname(mpcobj,'output',1) % get name of first output signal ans = 'MO1' getname(mpcobj,'output',2) % get name of second output signal ans = 'MO2' getname(mpcobj,'output',3) % get name of third output signal ans = 'UO1' getname(mpcobj,'output',4) % get name of fourth output signal ans = 'UO2'
% alternative ways to retrieve names mpcobj.Model.Plant.InputName{2} % second plant input ans = 'MV2' mpcobj.ManipulatedVariables(2).Name % second manipulated variable ans = 'MV2' mpcobj.Model.Plant.InputName{4} % fourth plant input ans = 'UD1' mpcobj.DisturbanceVariables(2).Name % second disturbance variable ans = 'UD1' mpcobj.Model.Plant.OutputName{4} % fourth plant output ans = 'UO2' mpcobj.OutputVariables(4).Name % fourth plant variable name ans = 'UO2'
Обратите внимание, что сигналы, не указанные в setmpcsignals
приняты в виде измеренных входов (для не заданных входов) или измеренных выходов (для не заданных выходов).
MPCobj
- Моделируйте прогнозирующий контроллерМоделируйте прогнозирующий контроллер, заданный как объект контроллера MPC. Чтобы создать контроллер MPC, используйте mpc
.
i
- Выбор номера сигнала'integer'
больше нуляЭто целое число задает, что имя i
Необходимо извлечь первый сигнал.
Номер сигнала, который будет извлечен.
Пример: 2
name
- Имя сигналаЭтот символьный массив является именем i
пятый входной или выходной сигнал (и это не влияет на то, классифицируется ли сигнал как манипулируемая переменная, измеренное или не измеренное нарушение порядка, измеренный или не измеренный выход).
Для входных сигналов это содержимое MPCobj.Model.Plant.InputName{i}
, в то время как для выходных сигналов это содержимое MPCobj.Model.Plant.OutputName{i}
.
Если заданный сигнал является манипулируемой переменной, это поле обычно 'MV1'
, 'MV2'
и так далее, вплоть до количества манипулируемых переменных, если специально не задано обратное. Это также идентично содержимому Name
поле соответствующей структуры в MPCobj.ManipulatedVariables
.
Если заданный сигнал является входом нарушения порядка, это поле обычно 'MD1'
, 'MD2'
и так далее, вплоть до количества измеренных переменных нарушения порядка или 'UD1'
, 'UD2'
и так далее, вплоть до количества неизмеренных переменных нарушения порядка, если специально не установлено обратное. Это также содержимое соответствующей Name
область MPCobj.DisturbanceVariables
.
Если заданный сигнал является выходом сигналом, это поле обычно 'MO1'
, 'MO2'
и так далее, вплоть до количества измеренных выходных переменных, или 'UO1'
, 'UO2'
и так далее, вплоть до количества неизмеренных выходных переменных, если специально не задано обратное. Это также содержимое соответствующей Name
область MPCobj.OutputVariables
.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.