exponenta event banner

setdiff

Разница в возврате между двумя массивами Simulink.VariableUsage объекты

Описание

VarsOut = setdiff(VarsIn1,VarsIn2) возвращает массив, который идентифицирует переменные, описанные в VarsIn1 но не в VarsIn2, которые являются массивами Simulink.VariableUsage объекты. Если переменная описывается Simulink.VariableUsage объект в VarsIn1 но не в VarsIn2функция возвращает копию объекта.

setdiff сравнивает Name, Source, и SourceType свойства Simulink.VariableUsage объекты в VarsIn1 с одинаковыми свойствами объектов в VarsIn2. Если VarsIn1 и VarsIn2 каждый из них содержит Simulink.VariableUsage объект с одинаковыми значениями для этих трех свойств, объекты описывают одну и ту же переменную, и setdiff не возвращает объект для описания.

Создать Simulink.VariableUsage объекты, которые описывают использование переменных в модели, используют Simulink.findVars функция.

Примеры

свернуть все

Учитывая две модели, откройте переменные, которые необходимы первой модели, но не второй модели.

model1Vars = Simulink.findVars('model1');
model2Vars = Simulink.findVars('model2');
differentVars = setdiff(model1Vars,model2Vars);

Найдите все переменные в базовой рабочей области, которые не используются недавно скомпилированной загруженной моделью.

models = find_system('type','block_diagram','LibraryType','None');
base_vars = Simulink.VariableUsage(who,'base workspace');
used_vars = Simulink.findVars(models,'WorkspaceType','base');
unusedVars = setdiff(base_vars,used_vars);

Входные аргументы

свернуть все

Первый массив переменных для сравнения, заданный как массив Simulink.VariableUsage объекты.

Второй массив переменных для сравнения, заданный как массив Simulink.VariableUsage объекты.

Выходные аргументы

свернуть все

Переменные, которые описаны в первом входном массиве, но не во втором входном массиве, возвращаемые как массив Simulink.VariableUsage объекты. Функция возвращает объект для каждой переменной, которая описана в VarsIn1 но не в VarsIn2.

Представлен в R2012b