ドキュメンテーション

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

importFromFile

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

変数を MAT ファイルまたは MATLAB ファイルからデータ ディクショナリ セクションにインポート

構文

importedVars = importFromFile(sectionObj,fileName)
importedVars = importFromFile(sectionObj,fileName,'existingVarsAction',existAction)
[importedVars,existingVars] = importFromFile(___)

説明

importedVars = importFromFile(sectionObj,fileName) は、fileName に指定された MAT ファイルまたは MATLAB ファイルで定義されている変数をデータ ディクショナリ セクション sectionObj にインポートします。ターゲットのセクションに既に含まれている変数は上書きされません。いずれかの変数が既にターゲットのセクションに含まれていると、MATLAB コマンド ウィンドウに警告とリストが表示されます。この構文では、正常にインポートされた変数のリストが返されます。変数が正常にインポートされたと見なされるのは、importFromFile でターゲットのデータ ディクショナリの対応するエントリに変数の値が代入されたときだけです。

importedVars = importFromFile(sectionObj,fileName,'existingVarsAction',existAction) は、existAction で指定されたアクションに従って、既にターゲットのセクションに含まれている変数をインポートします。たとえば、ターゲットのファイルで定義されている変数の値を使用して、ターゲットのセクションにある対応する値を上書きすることができます。

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

入力引数

すべて展開する

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

ターゲットの MAT ファイルまたは MATLAB ファイルの名前。文字ベクトルとして指定します。importFromFile では、ファイル拡張子が指定されていない場合は自動的に .mat として処理します。

例: 'myFile.mat'

例: 'myFile.m'

データ型: char

ディクショナリの既存の変数に対するアクション。'none''overwrite''error' のいずれかとして指定します。

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

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

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

例: 'overwrite'

データ型: char

出力引数

すべて展開する

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

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

すべて展開する

データ ディクショナリ myDictionary_ex_API.sldd の [Design Data] セクションを dDataSectObj という名前の Simulink.data.dictionary.Section オブジェクトで表します。

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');
dDataSectObj = getSection(myDictionaryObj,'Design Data');

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

importFromFile(dDataSectObj,'myData_ex_API.m')
Warning: The following variables were not imported because
they already exist in the dictionary:
   fuelFlow 

ans = 

    'myFirstEntry'
    'mySecondEntry'
    'myThirdEntry'

データ ディクショナリ myDictionary_ex_API.sldd の [Design Data] セクションを dDataSectObj という名前の Simulink.data.dictionary.Section オブジェクトで表します。

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');
dDataSectObj = getSection(myDictionaryObj,'Design Data');

ファイル myData_ex_API.m に格納されているすべての変数をデータ ディクショナリにインポートし、ディクショナリの既存の変数については上書きを行って、正常にインポートされた変数のリストを返します。

importFromFile(dDataSectObj,'myData_ex_API.m','existingVarsAction','overwrite')
ans = 

    'fuelFlow'
    'myFirstEntry'
    'mySecondEntry'
    'myThirdEntry'

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

データ ディクショナリ myDictionary_ex_API.sldd の [Design Data] セクションを dDataSectObj という名前の Simulink.data.dictionary.Section オブジェクトで表します。

myDictionaryObj = Simulink.data.dictionary.open('myDictionary_ex_API.sldd');
dDataSectObj = getSection(myDictionaryObj,'Design Data');

ファイル myData_ex_API.m に格納されているすべての変数をデータ ディクショナリにインポートします。importFromFile の出力引数の名前を指定して、正常にインポートされた変数と正常にインポートされなかった変数の名前を返します。

[importedVars,existingVars] = importFromFile(dDataSectObj,'myData_ex_API.m')
importedVars = 

    'myFirstEntry'
    'mySecondEntry'
    'myThirdEntry'


existingVars = 

    'fuelFlow'

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

ヒント

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

代替方法

モデル エクスプローラーを使用して、ファイルからデータ ディクショナリに変数をインポートすることができます。詳細については、ファイルからディクショナリへのデータのインポートを参照してください。

R2015a で導入