このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
データをワークスペースから次のいずれかのブロックを使用してモデル化されたルートレベルの入力端子に読み込むことができます。
これらのブロックは,[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[入力]パラメーターの値に基づいたワークスペースからデータをインポートします。
ヒント
多くの信号をルートレベルの入力端子にインポートする場合は,ルート尺寸マッパーツールの使用を検討してください。詳細については,ルート尺寸信号データのマッピングを参照してください。
また,从工作空间ブロックを使用して,ワークスペースからデータをインポートすることができます。詳細は,从工作空间のドキュメンテーションと入力テストケース用データの読み込みを参照してください。
入力データは[入力]コンフィギュレーションパラメーターを使用して手動で指定できます。ルートレベルの入力端子に多数の信号を読み込む場合は、ルート Inport マッパー ツールを使用を検討してください。これにより、このツールを使用してマップするデータが[入力]パラメーターに自動的に指定されます。詳細については,ルート尺寸マッパーツールを使用したデータのマッピングを参照してください。
[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[入力]パラメーターを選択します。
メモ
[入力]コンフィギュレーションパラメーターの使用は,ログデータを保存する際の[形式]コンフィギュレーションパラメーターの設定とは無関係です。
隣のエディットボックスに外部入力仕様を入力して,[適用]をクリックします。指定できるデータの形式の一覧については,入力データの形式を参照してください。
[入力]ボックスに,以下のいずれかの方法で信号入力を指定します。
MATLAB®関数(文字列として表現)またはMATLAB式の入力u = UT (t)
を使用して,シミュレーションのタイムステップごとに実行時のデータを作成します。
入力データの形式で説明するいずれかの入力データ形式を使用して,直接データを指定します。
数据集
データを指定する場合,[入力]パラメーターには1つの数据集
オブジェクトのみを指定します。このオブジェクトをコンマ区切りのリストに含めないでください。
各変数または式は,モデル内の特定のルートレベルの入力端子に対応した,該当するオブジェクトとして評価されなければなりません。リストの各変数または式は,該当するオブジェクトとして評価されなければなりません。このオブジェクトは,モデルのルートレベルの入力端子のいずれかに対応します。最初の項目は,最初のルートレベルの入力端子に対応し,2番目の項目は,2番目のルートレベルの入力端子に対応します(以下同様)。各データサンプルは入力ブロックパラメーターで指定したデータの次元と一致しなければなりません。
启用または触发ブロックでは,イネーブル端子またはトリガー端子を駆動する信号は,コンマ区切りリストの最後の項目でなければなりません。イネーブル端子とトリガー端子の両方をもつ場合は,以下のように指定します。
イネーブル端子をリストの最後から2番目の項目として
トリガー端子を最後の項目として
空の行列を使用して,端子に対してグラウンド値を指定します。たとえば,入力端子三机一体
およびin3
のデータを読み込み,端子in2
にグラウンド値を使用して,[入力]パラメーターに次を入力します。
in3 in1, []
入力データは,次の形式で提供できます。
金宝appSimulink.SimulationData.Dataset
——ログデータをMATLABtimeseries
の形式にまとめたものです。詳細については,データセットデータのルートレベル入力への読み込みを参照してください。
MATLABtimeseries
——詳細については,以下を参照してください。
金宝appSimulink.SimulationData.DatasetRef
——詳細については,シミュレーションのためのビッグデータの読み込みを参照してください。
MATLAB时间表
——詳細については,MATLAB时间表データのルートレベル入力への読み込みを参照してください。
配列,データ配列のルートレベル入力への読み込みを参照してください。
金宝appSimulink.SimulationData.Signal
——詳細については,別のシミュレーションでログ記録されたデータの読み込みを参照してください。
matlab.io.datastore.SimulationDatastore
——詳細については,シミュレーションのためのビッグデータの処理を参照してください。
構造体——外部の入力データを簡単に指定するには,ルートレベルの入力端子ブロックのサブセットにデータを読み込みます。この方法により,グラウンド値を使用する端子のデータ構造を作成せずに済みます。グラウンド値の詳細については,信号と離散状態の初期化を参照してください。構造体データの読み込みの詳細については,データ構造体のルートレベル入力への読み込みを参照してください。
すべての入力端子のデータを含む構造体配列。
空の行列——データ値を作成せずに,グラウンド値を使用する端子に対して空の行列を使用します。
時間表現——詳細については,MATLAB時間表現のルート入力端子への読み込みを参照してください。
メモ
読み込む时间表
データを指定するとき,时间表
には1つの信号のみのデータを含めなければなりません。
バスデータのインポートの詳細については,ルートレベルの入力端子へのバスデータの読み込みを参照してください。
[入力]パラメーターで指定する時間値は,ソルバーが使用する時間を制御しません。ソルバーには時間を伝播するための独自のロジックがあり,任意の時間値で入力データが必要になる場合があります。ルートレベルの入力ブロックの[内挿]パラメーター設定(たとえば,ルートレベルの轮廓尺寸ブロック)は対応するワークスペースデータが存在しないタイムステップでの出力の処理方法を指定します。
[入力]パラメーターに指定する時間値をスパースにすることはできません。また,南
または正
の値を含めることもできません。
対応する轮廓尺寸、启用または触发ブロックに対して[データを内挿する]オプションを選択すると,金宝app仿真软件®は,必要に応じて入力値を線形に内挿または外挿します。
金宝app仿真软件は,記号の解釈の説明のとおりに外部入力仕様で使用される記号を解決します。sim卡
コマンドは,プログラミングによるシミュレーションでのみ使用できる一部のデータインポート機能を提供します。
matlab.io.datastore.SimulationDatastore
オブジェクトを要素として含む金宝appSimulink.SimulationData.Dataset
オブジェクトを使用する場合,永続ストレージに格納されるデータがファイルからストリーミングされます。詳細については,シミュレーションのためのビッグデータの読み込みを参照してください。
数据集オブジェクトを[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[入力]パラメーターの値として使用できます。数据集
オブジェクトを1つのみ指定し,コンマ区切りリストには含めないでください。数据集
の要素の数は,ルートレベルの入力端子の数と一致しなければなりません。
数据集
オブジェクトには,さまざまなデータ型の要素を含めることができます。
個々の非バス信号データでは,数据集
要素に対して次のデータ型を指定できます。
timeseries
时间表
matlab.io.datastore.SimulationDatastore
双
データの双
ベクトルまたは構造体
金宝appSimulink.SimulationData.Signal
、金宝appSimulink.SimulationData.State
または金宝appSimulink.SimulationData.DataStoreMemory
オブジェクト
次のいずれかの要件を満たす配列
最初の列に時間が含まれ,残りの列がそれぞれ入力端子に対応している配列。データ配列のルートレベル入力への読み込みを参照してください。
函数调用子系统を駆動するルート尺寸のn行1列
の配列。
構造体-データ構造体のルートレベル入力への読み込みを参照してください。
バス信号の場合は,次のいずれかの形式を使用して,各リーフ信号のデータ要素をもつ構造体を使用します。
MATLABtimeseries
オブジェクト
MATLAB时间表
オブジェクト
matlab.io.datastore.SimulationDatastore
オブジェクト
空行列
バスデータの構造体に対するこれらの要件と一致する各信号のデータ要素をもつ別の構造体
メモ
読み込む时间表
データを指定するとき,时间表
には1つの信号のみのデータを含むことができます。
モデル内のルートレベルの轮廓尺寸ブロックから金宝appSimulink.SimulationData.Dataset
オブジェクトを生成するには,関数createInputDataset
を使用できます。生成されたデータセットの信号は,モデルの開始時間と停止時間における轮廓尺寸ブロックのプロパティと対応するグラウンド値をもちます。読み込む信号の時間と値のために,timeseries
オブジェクトと时间表
オブジェクトを作成できます。他の信号はグラウンド値を使用します。各时间表
オブジェクトには1つの信号のみのデータを含めなければなりません。
ワークスペース内に存在するMATLAB
オブジェクトで指定したルートレベルの入力端子データに読み込むことができます。timeseries
メモ
MATLAB時系列データのインポートについて,このドキュメンテーションには,ルートの轮廓尺寸ブロックの例が含まれています。特に指定がない限り,この例はルートレベルの启用ブロック,触发ブロックおよび从工作空间ブロックに適用できます。
データを仿金宝app真软件にインポートするMATLABtimeseries
オブジェクトを作成する場合,時間の次元(時間サンプルの数)は信号データの次元とタイプによって異なります。
信号のデータ次元またはデータ型 | 時間の次元の配置 | 時系列コンストラクターの例 |
---|---|---|
スカラーまたは1次元ベクトル |
1 次 |
スカラー信号のコンストラクター。時間は最初の次元に整合されます。 t =(0:10)”;Ts = timeseries(sin(t), t); |
2次元(行ベクトルと列ベクトルを含む)以上 |
最後 |
行列信号のコンストラクター。時間は最後の次元に整合されます。 t = 0;Ts = timeseries([1 2;3 4], t); |
2次元行ベクトル,タイムステップが1つだけ存在 |
最後 |
t = 0;t = timeseries([1 2],“InterpretSingleRowDataAs3D”,真正的);
|
时间表
データに枚举
を指定する場合,対応する轮廓尺寸ブロックの[データを内挿する]パラメーターをオフにします。
一般に,MATLAB时间表
データはMATLABtimeseries
データの読み込みと同じ方法で読み込むことができます。各时间表
には1つの信号のみのデータを含めなければなりません。
ルートレベルの入力端子データをワークスペースから構造体の形で読み込むことができます。この構造体の名前は,[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[入力]パラメーターで指定します。MATLAB構造体の定義の詳細については、構造体配列を参照してください。
モデルの構造体を全体として,または端子ベースで指定することができます。[入力]パラメーター用の端子単位の構造体の指定の詳細は,すべての端子用の構造体または各端子用の構造体を参照してください。
この構造体には,常に値フィールドと次元フィールドを含む信号のサブ構造体が含まれています。実行するモデリングタスクに応じて,構造体に時間フィールドを含めることができます。使用する構造体の形式は,データをインポートしている以下の信号のタイプによって異なります。
離散信号(信号が時間の等間隔値で定義されている)——空の時間ベクトルをもつ構造体を使用します。サブ構造体の配列を含む信号
フィールドを指定し,サブ構造体はそれぞれモデル入力端子に対応しています。
連続信号(信号が時間のすべての値に定義されている)——データが滑らかな曲線(連続)を表すか,データの範囲全体(離散)にわたって不連続(ジャンプする)かによって,方法が異なります。サブ構造体の配列を含む信号
フィールドを指定し,サブ構造体はそれぞれモデル入力端子に対応しています。時間ベクトルを含む时间
フィールドを指定できます。時間データの指定を参照してください。
離散信号と連続信号のデータをインポートする例については,次を参照してください。
モデル内のすべてのルートレベルの入力端子への入力を提供する1つの構造体を指定するか,端子ごとに別々の構造体を指定することができます。
端子別の構造体形式は,各端子に対する独立した時間付き構造体1個または時間なし構造体1個で構成されます。それぞれの入力データ構造体は1つの信号
フィールドのみをもちます。このオプションを指定するには,[入力]テキストフィールドに構造体の名前をコンマ区切りリスト三机一体,in2,…,酒店
として入力します。値三机一体
はモデルの1番目の入力端子用のデータです。in2
は2番目の入力端子用で,その後も同様です。
すべての端子に1つの構造体を指定するには,次のようにします。
值
フィールドには,対応する入力端子用の入力の配列を含まなければなりません。時間ベクトルを指定する場合,各入力は时间
フィールドで指定した時間値に対応しなければなりません。
端子の入力がスカラー値またはベクトル値である場合,值
フィールドはm×n的
配列でなければなりません。時間ベクトルを指定する場合,米
は时间
フィールドで指定される時間点の数値でなければならず,N
は各ベクトル値の長さです。
端子の入力が行列(2次元配列)の場合,值
フィールドは,M x N Tの配列でなければなりません。
米
とN
は各行列入力の次元であり,T
は時間点の数です。たとえば,4 行 5 列の行列信号の 51 個の時間サンプルをモデルの入力端子の 1 つに入力するとします。このとき、ワークスペース構造体の対応する维
フィールドは,5 [4]
に等しくなり,值
配列の次元は4 × 5 × 51
になります。
维
フィールドは,入力の次元を指定します。各入力がスカラーまたはベクトル (1 次元配列) 値である場合、维
フィールドは,ベクトルの長さ(スカラーの場合は1)を指定するスカラー値でなければなりません。各入力が行列(2次元配列)の場合,维
フィールドは,次の要素をもつ2要素ベクトルでなければなりません。
1番目の要素は行列の行数を指定する
2番目の要素は列数を指定する
インポートするデータ構造体の一部として双の時間ベクトルを指定できます。たとえば,信号データをインポートするときに時間ベクトルを指定して、連続プラントを表現したりテスト ケースを作成したりできます。離散アルゴリズムをテストするには、空の時間ベクトルをもつ構造体を使用します。次の表は、読み込む信号データの種類を基にした、時間値の指定に関する追加の推奨事項を示しています。
信号データ | 時間データの推奨値 |
---|---|
離散サンプル時間のある轮廓尺寸または触发ブロック |
時間ベクトルを指定しないでください。金宝app仿真软件はタイムステップごとに1つの信号値を読み込みます。 |
等間隔離散信号 |
次の形式の式を使用します。 timeVector = timeStep * [startTime:numSteps-1]' ベクトルは転置されます。開始時間はタイムステップであるため,必要なステップ数から1を引いた数を指定する必要があります。たとえば,0.2のタイムステップで50個の時間値を指定するには,次のようにします。 T1 = 0.2 * [0:49]' メモ 次の形式の式を使用”“しないでください。 timeVector =(开始时间:步伐:endTime) ' たとえば,次は使用しないでください。 T2 = (0:0.2:10) ' コンピューターによって使用される倍精度の丸めのため,この時間ベクトルの形式は,タイムステップで乗算される形式( |
等間隔ではない値 |
有効なMATLAB配列式を使用します。たとえば, 从工作空间ブロック,从文件ブロック,信号编辑器ブロックはゼロクロッシング検出をサポートしています。ルートレベルの入力端子がこれらのブロックのいずれかに接続されている場合、重複した時間エントリを使用してゼロクロッシング時間を指定できます。 |
1番目の例では,単一の入力端子がある次のモデルを検討します。
int8
型の2要素信号ベクトルの11個の時間サンプルを読み込む入力構造体を作成します。
N = 10 Ts = 0.1 a.time = Ts*[0:N]';c1 = int8([0:1:10]”);c2 = int8([0:10:100]”);a.signals(1)。值= [c1 c2]; a.signals(1).dimensions = 2;
[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[入力]パラメーターのエディットボックスで,変数一个
を指定します。
轮廓尺寸ブロックのダイアログボックスの[信号属性]タブで,(端子の次元)を2
に設定し,[データ型)を(int8)
に設定します。
もう1つの例として,2つの入力のあるモデルを検討します。
1番目の端子に正弦波,2番目の端子に余弦波を入力するとします。MATLABワークスペースに次のような構造体一个
を定義します。
a.time = 0.1 * (0:1);a.signals(1)。值= sin(a.time); a.signals(1).dimensions = 1; a.signals(2).values = cos(a.time); a.signals(2).dimensions = 1;
[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[入力]パラメーターのエディットボックスに構造体名(一个
)を入力します。
メモ
このモデルでは,次元とデータ型を指定する必要はありません。これは既定値が1
および双
であるためです。
ルートレベルの入力端子データは,ワークスペースからデータ配列の形式で読み込むことができます。この形式は,[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[入力]パラメーターで指定します。
このインポート形式は,データ型双
の実数(非複素数)行列で構成されます。行列の最初の列は,昇順の時間ベクトルでなければなりません。残りの列は,入力値を指定します。
各列は異なる轮廓尺寸ブロック信号または触发ブロック信号に対する入力を表します(シーケンス順)。
各行は対応する時間点の入力値です。
触发ブロックでは,トリガー端子を駆動する信号は,最後のデータ項目でなければなりません。
入力行列の列の総数は,n + 1
と等しくなければなりません。ここで,n
はモデルの入力端子に入力する信号の総数です。
モデルの既定の入力表現は(t, u)
であり,既定の入力形式は配列です。t
とu
をMATLABワークスペースで定義する場合,単純に[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[入力]パラメーターでモデルワークスペースからの入力データを選択します。
2次のつの轮廓尺寸ブロックを含むモデルがあると仮定します。
三机一体
ブロックは2つの信号を受け入れます(このブロックでは(端子の次元)パラメーターが2
に設定されています)。
In2
ブロックは1つの信号を受け入れます(このブロックでは(端子の次元)パラメーターに既定値を使用します)。
t
とu
をMATLABワークスペースで定義します。
numSteps = 9;步伐= 0.1;t =(步伐* (0:numSteps)) ';u =[罪(t),因为(t) 4 * cos (t));
シミュレーションを実行すると,信号データ罪(t)
とcost
が三机一体
に代入され,信号データ4 * cost
がIn2
に代入されます。100 個の時間点の信号データが入力されます。
メモ:
配列入力形式では,データ型双
の実数(非複素数)のスカラーデータまたはベクトルデータのみを読み込むことができます。複素数データ,行列(二次元)データおよび双
以外のデータ型を入力するには,構造体形式を使用してください。
配列を使用して,ルートレベルの入力端子を通して函数调用子系统を駆動することができます。配列または数据集
オブジェクトの要素である配列を使用できます。配列はn行1列
の配列でなければなりません。ルートレベルの轮廓尺寸ブロックで[関数呼び出しの出力)パラメーターを選択します。
たとえば,次の数据集
オブジェクトは配列要素x
を含んでいます。
ds = 金宝appSimulink.SimulationData.Dataset;X = [1 3 7 8]';ds = ds.addElement (x,“theElementName”);
このモデルはds
データセットを[コンフィギュレーションパラメーター]、[データのインポート/エクスポート]、[入力]パラメーターで使用します。
このモデルのシミュレーションを実行すると,函数调用子系统のログに記録された信号データの時間値によって,ds
に格納されている配列で指定された時間にのみ函数调用子系统がトリガーされたことが示されます。
> > logsout {1} . values。时间ans = 1 3 7 8
MATLAB時間表現を使用して,ワークスペースからルートレベルの入力端子にデータを読み込むことができます。時間表現を使用するには,[データのインポート/エクスポート]ペインの[入力]フィールドに文字列で表した表現を一重引用符で囲んで入力します。時間表現は,長さがモデルの入力端子に入力する信号の数と等しい行ベクトルとして評価されるMATLAB式です。1つのモデルに2つの信号を受け入れる1つのベクトル入力があると仮定します。また,timefcn
は,長さが2要素の行ベクトルを返すユーザー定義関数であると仮定します。このようなモデルに有効な入力時間表現は次のとおりです。
(3 * sin (t),因为(2 * t)]”“4 * timefcn (w * t) + 7”
この表現は,シミュレーションの各ステップで評価され,結果の値がモデルの入力端子に適用されます。金宝app仿真软件がシミュレーションを実行するときに変数t
を定義します。また,変数が 1 つしかない関数の場合、表現の時間変数を省略することができます。たとえば、表現罪
は罪(t)
と解釈されます。