Main Content

getInputString

マッピングする変数のコンマ区切りのリストを作成する

説明

externalInputString = getInputString(inputmap,'base') は、与えられたマッピング inputmap およびベース ワークスペース ('base') に読み込まれた変数を使用して、入力文字ベクトルを作成します。

この関数は、マッピングされる変数 (入力文字ベクトル) のコンマ区切りリストを生成します。このリストを以下のように使用することができます。

  • sim コマンドの入力として使用する。はじめに、ベース ワークスペースに変数を読み込みます。

  • [コンフィギュレーション パラメーター][データのインポート/エクスポート][入力] パラメーターの入力として使用する。入力文字ベクトルの内容をテキスト フィールドにコピーします。

この機能は、カスタム マッピングを作成した場合に最も役に立ちます。

externalInputString = getInputString(inputmap,filename) は、与えられたマッピング inputmap および filename で定義された変数を使用して、入力文字ベクトルを作成します。

externalInputString = getInputString(inputmap) は、最近作成されたマッピングからの信号を使用して、入力文字ベクトルを作成します。

すべて折りたたむ

ベース ワークスペースから入力文字ベクトルを作成し、モデルのシミュレーションを実行します。

モデルを開きます。

slexAutotransRootInportsExample;

ベース ワークスペースで信号変数を作成します。

Throttle = timeseries(ones(10,1)*10);
Brake    = timeseries(zeros(10,1));

モデルのマッピング (inputMap) を作成します。

inputMap = getRootInportMap('model',...
'slexAutotransRootInportsExample',...
'signalName',{'Throttle','Brake'},...
'blockName',{'Throttle','Brake'});

inputMap'base' を入力として指定し、getInputString を呼び出します。

externalInputString = getInputString(inputMap,'base')
externalInputString =

Throttle,Brake

入力文字ベクトルを指定してモデルをシミュレートします。

sim('slexAutotransRootInportsExample','ExternalInput',...
externalInputString);

input.mat という名前の MAT ファイルにある変数から、外部入力文字ベクトルを作成します。

書き込み可能なフォルダーで、入力変数が格納された MAT ファイルを作成します。

Throttle = timeseries(ones(10,1)*10);
Brake    = timeseries(zeros(10,1));
save('input.mat','Throttle','Brake');

モデルを開きます。

slexAutotransRootInportsExample;

マップ オブジェクトを作成します。

inputMap = getRootInportMap('model',...
'slexAutotransRootInportsExample',...
'signalName',{'Throttle','Brake'},...
'blockName',{'Throttle','Brake'});

結果の入力文字ベクトルを取得します。

externalInputString = getInputString(inputMap,'input.mat')
externalInputString =

Throttle,Brake

シミュレーションで使用する変数をベース ワークスペースから読み込みます。

load('input.mat');

モデルのシミュレーションを実行します。

sim('slexAutotransRootInportsExample','ExternalInput',...
externalInputString);

入力マップ ベクトルのみから入力文字ベクトルを作成し、モデルをシミュレートします。

モデルを開きます。

slexAutotransRootInportsExample;

ベース ワークスペースで信号変数を作成します。

Throttle = timeseries(ones(10,1)*10);
Brake    = timeseries(zeros(10,1));

モデルのマッピング ベクトルを作成します。

inputMap = getSlRootInportMap('model', 'slexAutotransRootInportsExample',...
'MappingMode','BlockName',...
'signalName',{'Throttle', 'Brake'},...
'signalValue',{Throttle, Brake});  

結果の入力文字ベクトルを取得します。

externalInputString = getInputString(inputMap)

入力文字ベクトルを指定してモデルをシミュレートします。

sim('slexAutotransRootInportsExample','ExternalInput',...
externalInputString);

または、[コンフィギュレーション パラメーター] ダイアログから変数のリストを入力する場合は、externalInputString の内容 (Throttle,Brake) を [データのインポート/エクスポート][入力] パラメーターにコピーします。変更を適用し、モデルのシミュレーションを実行します。

入力引数

すべて折りたたむ

関数 getRootInportMap または getSlRootInportMap から返されるマップ オブジェクト。

MAT ファイルに含まれる入力変数このファイルには、マッピングされる変数が含まれています。

例: 'data.mat'

データ型: char

出力引数

すべて折りたたむ

外部入力。コンマ区切りの文字ベクトルとして返されます。この文字ベクトルには、sim コマンドに指定可能なルート Inport の情報または [コンフィギュレーション パラメーター][データのインポート/エクスポート][入力] パラメーターで指定できる情報が含まれます。

R2013a で導入