ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

importFromBaseWorkspace

クラス: Simulink.data.Dictionary
パッケージ: Simulink.data

ベース ワークスペースの変数をデータ ディクショナリにインポート

構文

importedVars = importFromBaseWorkspace(dictionaryObj)
importedVars = importFromBaseWorkspace(dictionaryObj,Name,Value)
[importedVars,existingVars] = importFromBaseWorkspace(___)

説明

importedVars = importFromBaseWorkspace(dictionaryObj) は、MATLAB ベース ワークスペースからデータ ディクショナリ dictionaryObj にすべての変数をインポートします。ディクショナリの既存のエントリは上書きされません。ベース ワークスペースのいずれかの変数が既にディクショナリに含まれている場合、この関数は警告とリストを表示します。

この構文では、正常にインポートされた変数の名前のリストが返されます。変数が正常にインポートされたと見なされるのは、importFromBaseWorkspace でターゲットのデータ ディクショナリの対応するエントリに変数の値が代入されたときだけです。

importedVars = importFromBaseWorkspace(dictionaryObj,Name,Value) は、1 つ以上の Name,Value のペアの引数で指定された追加オプションを使用してベース ワークスペースの変数をデータ ディクショナリにインポートします。

[importedVars,existingVars] = importFromBaseWorkspace(___) は、上書きされなかった変数のリストも返します。この構文は、existingVarsAction'none' (既定値) に設定した場合に使用します。この値に設定した場合、ディクショナリの既存のエントリは上書きされません。

入力引数

すべて展開する

ターゲットのデータ ディクショナリ。Simulink.data.Dictionary オブジェクトとして指定します。この関数を使用する前に、関数 Simulink.data.dictionary.create や関数 Simulink.data.dictionary.open を使用してターゲットのディクショナリを Simulink.data.Dictionary オブジェクトで表しておきます。

名前と値のペアの引数

オプションのコンマ区切りされた Name,Value の引数ペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペア引数を任意の順序で指定できます。

正常にインポートされた変数をベース ワークスペースからクリアするフラグ。'clearWorkspaceVars'true または false のいずれかの値で構成されるコンマ区切りのペアとして指定します。

例: 'clearWorkspaceVars',true

データ型: logical

ディクショナリの既存の変数に対するアクション。'existingVarsAction''none''error''overwrite' のいずれかの値で構成されるコンマ区切りのペアとして指定します。

'none' を指定した場合、importFromBaseWorkspace は、ターゲットの変数のインポートを試行しますが、データ ディクショナリに既に含まれている変数についてはインポートや変更を行いません。

'error' を指定した場合、importFromBaseWorkspace は、ターゲットのいずれかの変数がデータ ディクショナリに既に含まれていると、いずれの変数もインポートせずにエラーを返します。

'overwrite' を指定した場合、importFromBaseWorkspace は、ターゲットのすべての変数をインポートし、データ ディクショナリに既に含まれている変数については上書きします。

例: 'existingVarsAction','error'

データ型: char

インポートする特定のベース ワークスペースの変数の名前。'varList' と文字ベクトルの cell 配列または string 配列で構成されるコンマ区切りのペアとして指定します。変数を 1 つだけインポートする場合は、その名前を cell 配列内で指定します。'varList' を指定しない場合、importFromBaseWorkspace は MATLAB ベース ワークスペースからすべての変数をインポートします。

例: 'varList',{'a','myVariable','fuelFlow'}

例: 'varList',{'fuelFlow'}

データ型: cell

出力引数

すべて展開する

正常にインポートされた変数の名前。文字ベクトルの cell 配列として返されます。変数が正常にインポートされたと見なされるのは、importFromBaseWorkspace でターゲットのデータ ディクショナリの対応するエントリに変数の値が代入されたときだけです。

ターゲットのデータ ディクショナリに既に含まれているためにインポートされなかったターゲットの変数の名前。文字ベクトルの cell 配列として返されます。existingVars の値は、'existingVarsAction''none' (既定値) に設定した場合にのみ返されます。この場合、importFromBaseWorkspace はターゲットのデータ ディクショナリに含まれていない変数のみをインポートします。

すべて展開する

MATLAB ベース ワークスペースで、インポートする変数を作成します。

a = 'Char Variable';
myVariable = true;
fuelFlow = 324;

データ ディクショナリ myDictionary_ex_API.sldd を開き、myDictionaryObj という名前の Simulink.data.Dictionary オブジェクトで表します。

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');

ベース ワークスペースのすべての変数をデータ ディクショナリにインポートし、正常にインポートされた変数のリストを返します。ベース ワークスペースのいずれかの変数が myDictionary_ex_API.sldd に既に含まれている場合、importFromBaseWorkspace は警告と影響があった変数のリストを返します。

importFromBaseWorkspace(myDictionaryObj);
Warning: The following variables were not imported because 
they already exist in the dictionary:
   fuelFlow 

MATLAB ベース ワークスペースで、インポートする変数を作成します。

b = 'Char Variable';
mySecondVariable = true;
airFlow = 324;

データ ディクショナリ myDictionary_ex_API.sldd を開き、myDictionaryObj という名前の Simulink.data.Dictionary オブジェクトで表します。

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');

ベース ワークスペースの新しい変数だけをデータ ディクショナリにインポートします。

importFromBaseWorkspace(myDictionaryObj,'varList',...
{'b','mySecondVariable','airFlow'});

MATLAB ベース ワークスペースで、インポートする変数を作成します。

fuelFlow = 324;

データ ディクショナリ myDictionary_ex_API.sldd を開き、myDictionaryObj という名前の Simulink.data.Dictionary オブジェクトで表します。myDictionary_ex_API.sldd には fuelFlow というエントリが既に含まれています。

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');

変数 fuelFlow をインポートし、myDictionary_ex_API.sldd の対応するエントリを上書きします。

importFromBaseWorkspace(myDictionaryObj,'varList',{'fuelFlow'},...
'existingVarsAction','overwrite');

importFromBaseWorkspace は、ベース ワークスペースの変数 fuelFlow の値を myDictionary_ex_API.sldd の対応するエントリの値として代入します。

ターゲットのデータ ディクショナリに既に含まれているために MATLAB ベース ワークスペースからインポートされなかった変数のリストを返します。

MATLAB ベース ワークスペースで、インポートする変数を作成します。

fuelFlow = 324;
myNewVariable = 'This is a character vector.'

データ ディクショナリ myDictionary_ex_API.sldd を開き、myDictionaryObj という名前の Simulink.data.Dictionary オブジェクトで表します。myDictionary_ex_API.sldd には fuelFlow というエントリが既に含まれています。

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');

変数 fuelFlow および myNewVariable をデータ ディクショナリにインポートします。importFromBaseWorkspace の出力引数の名前を指定して、正常にインポートされた変数と正常にインポートされなかった変数の名前を返します。

[importedVars,existingVars] = importFromBaseWorkspace(myDictionaryObj,...
'varList',{'fuelFlow','myNewVariable'})
importedVars = 

    'myNewVariable'


existingVars = 

    'fuelFlow'

変数 fuelflow はターゲットのデータ ディクショナリに既に含まれているため、importFromBaseWorkspace でインポートされません。

ヒント

  • importFromBaseWorkspace でインポートできるのは、列挙データ型から作成された MATLAB 変数です。列挙型の定義はインポートできません。列挙データ型の定義をデータ ディクショナリにインポートするには関数 importEnumTypes を使用します。データ ディクショナリに列挙データ型の変数をインポートする場合は列挙型定義もインポートしないと、ディクショナリの移植性が低くなり、他のユーザーが使用した場合に適切に機能しないことがあります。

代替方法

  • Simulink エディターを使用してモデルをデータ ディクショナリにリンクするときに、ベース ワークスペースからモデル変数をインポートするかどうかを選択できます。詳細については、ディクショナリを使用する単一モデルの移行を参照してください。

  • また、モデル エクスプローラーのウィンドウで、ベース ワークスペースからデータ ディクショナリに変数をドラッグ アンド ドロップできます。

R2015a で導入