Извлечение имен сигналов ввода-вывода из модели завода MPC
Создайте завод и объект 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Необходимо извлечь сигнал th.
Извлекаемый номер сигнала.
Пример: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.