Объедините результаты линеаризации заданных блоков и модели
lin = linlftfold(lin_fixed,blocksubs)
lin = linlftfold(lin_fixed,blocksubs)
комбинирует следующие результаты линеаризации в одну линейную модель lin
:
Линейная модель lin_fixed
, которая не включает вклад заданных блоков в вашей модели Simulink®.
Вычислите lin_fixed
с помощью linlft
.
Блокируйте линеаризацию для блоков, исключенных из lin_fixed
Вы задаете линеаризацию блока в массиве структур blocksubs
, который содержит два поля:
'Name'
является вектором символов или строкой, задающей блок path блока Simulink, чтобы заменить.
'Value'
является значением линеаризации для каждого блока.
Линеаризуйте следующие части модели scdtopmdl
Simulink отдельно и затем объедините результаты:
Фиксированный фрагмент, который содержит все кроме Параметра, Отличающегося ссылка Моделей контроллеров
Параметр, Отличающийся ссылка Моделей контроллеров, которая ссылается на модель scdrefmdl
% Open the Simulink model topmdl = 'scdtopmdl'; % Linearize the model without the Parameter Varying Controller io = getlinio(topmdl); blocks = {'scdtopmdl/Parameter Varying Controller'}; sys_fixed = linlft(topmdl,io,blocks); % Linearize the Parameter Varying Controller refmdl = 'scdrefmdl'; sys_pv = linearize(refmdl); % Combine the results BlockSubs(1) = struct('Name',blocks{1},'Value',sys_pv); sys_fold = linlftfold(sys_fixed,BlockSubs);