Main Content

setdiff

Simulink.VariableUsage オブジェクトの 2 つの配列の差分を返す

説明

VarsOut = setdiff(VarsIn1,VarsIn2) は、Simulink.VariableUsage オブジェクトの配列である VarsIn2 ではなく、VarsIn1 に記述されている変数を識別する配列を返します。VarsIn1Simulink.VariableUsage オブジェクトに記述されている変数が VarsIn2 のオブジェクトに記述されていない場合、この関数はそのオブジェクトのコピーを返します。

setdiff は、VarsIn1 に含まれる Simulink.VariableUsage オブジェクトの NameSourceSourceTypeUsers の各プロパティを VarsIn2 に含まれるオブジェクトの同じプロパティと比較します。これらの 3 つのプロパティの値が同じ Simulink.VariableUsage オブジェクトが VarsIn1VarsIn2 のそれぞれに含まれている場合、両方で同じ変数を記述していると見なされ、その変数に関するオブジェクトは setdiff から返されません。

モデル内での変数の使用について記述する Simulink.VariableUsage オブジェクトを作成するには、関数 Simulink.findVars を使用します。

すべて折りたたむ

2 つのモデルのうち 1 つ目のモデルでのみ必要な変数を調べます。

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);

入力引数

すべて折りたたむ

比較する 1 つ目の変数の配列。Simulink.VariableUsage オブジェクトの配列として指定します。

比較する 2 つ目の変数の配列。Simulink.VariableUsage オブジェクトの配列として指定します。

出力引数

すべて折りたたむ

1 つ目の入力配列に記述されていて 2 つ目の入力配列に記述されていない変数。Simulink.VariableUsage オブジェクトの配列として返されます。この関数は、VarsIn1 に記述されていて VarsIn2 に記述されていない変数ごとに 1 つのオブジェクトを返します。

バージョン履歴

R2012b で導入