主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

金宝app仿真软件。ModelDataLogs

モデルの信号データ ログのコンテナー

説明

メモ

ModelDataLogsクラスは,下位互換のためにサポートされています。R2016a以降は,データを[模型数据日志]形式で記録することはできません。信号ログでは,[データセット]形式が使用されます。R2016a以降では,ModelDataLogs形式を使用していた前のリリースのモデルのシミュレーションを行うと,そのモデルは数据集形式を使用してデータをログ記録します。

ModelDataLogsの信号ログデータは数据集形式に変換できます。(数据集)形式に変換すると、同様に(数据集)形式を使用できる他のログ記録されたデータ(ログ記録された状態など)との事後処理が容易になります。詳細については,数据集形式へのログデータの変換を参照してください。

ModelDataLogsを使用するレガシコードがある場合,コードまたはモデルに対する更新が必要な状況が生じる可能性があります。スクリプトの更新の詳細については,レガシModelDataLogs APIを使用するスクリプトの移行を参照してください。

R2016aより前のリリースでは,[コンフィギュレーション パラメーター][データのインポート/エクスポート][信号のログ形式][模型数据日志]に設定すると、データのログ記録により、ログ記録されたデータを含む 1.つ以上の金宝app仿真软件。ModelDataLogsオブジェクトが生成されます。ログ記録によって,最上位モデルと,ログ記録される信号を含む最上位モデルによって参照される各モデルに対して,このクラスのインスタンスが作成されます。最上位モデルのModelDataLogsオブジェクトがベースワークスペース内の変数に割り当てられます。変数の名前は,[コンフィギュレーション パラメーター][データのインポート/エクスポート](信号のログ名)パラメーターで指定されます。既定値はlogsoutです。

ModelDataLogsオブジェクトは,可変数個のプロパティをもちます。的名字という最初のプロパティは,オブジェクトが含む信号データをもつモデルの名前を指定します。あるいは,そのモデルが参照モデルの場合,モデルを参照する模型ブロックの名前を指定します。その他のプロパティは,モデルのシミュレーション中にログが作成される信号データを含むオブジェクトを参照します。オブジェクトは,以下のオブジェクトのタイプのインスタンスである可能性があります。

プロパティの名前は,ログが作成されているデータを以下のように識別します。

  • 信号データログの場合は信号名

  • サブシステムまたはモデルのコンテナーの場合はそれぞれサブシステムまたはモデルの名前

たとえば,以下のモデルについて考察します。

テストポイントアイコンによって示されるように,このモデルは,仿金宝app真软件®がルートシステムの一步范围という名前の信号,推迟了という名前のサブシステムのclkという名前の信号のログを作成することを指定します。R2016aより前のリリースでこのモデルをシミュレートした後は,MATLAB®ワークスペースには次の変数が含まれています。

金宝app仿真软件。ModelDataLogs (siglgex):命名元素Simulink类作用金宝app域2 TsArray步骤1 Timeseries ('Delayed Out') 2 SubsysDataLogs

完全修飾オブジェクト名または仿金宝app真软件打开コマンドを使用して信号データにアクセスできます。たとえば,logsoutオブジェクトの 拖延サブシステムにあるclk信号の振幅にアクセスするには,以下を入力します。

data = logsout。(“延迟”) .clk.Data;

または

> > logsout.unpack (“所有”);>> data = clk.Data;

ModelDataLogs形式で保存した信号データのログにアクセス

金宝app仿真软件。ModelDataLogsオブジェクトには,特定のモデル要素の信号ログ情報を取得する信号データオブジェクトが含まれます。

モデル要素 信号データ オブジェクト
最上位モデルまたは参照モデル 金宝app仿真软件。ModelDataLogs
モデル内のサブシステム 金宝appSimulink.SubsysDatalog
バス信号またはMux信号以外の信号 金宝app仿真软件。Timeseries
バス信号またはMux信号 金宝app仿真软件。TsArray

ログ名のスペースと改行の処理

次の場合、データ ログの信号名にはスペースや改行が含まれる場合があります。

  • 信号に名前が付けられていて,その名前にスペースまたは改行文字が含まれている。

  • 信号に名前は付けられていないが,名前にスペースまたは改行文字を含むブロックから信号が発生している。

  • 信号がサブシステムまたは参照モデル内に存在し,サブシステム,模型ブロックまたは上位ブロックの名前にスペースまたは改行文字が含まれている。

次のモデルは,名前にスペースを含んでいる信号,名前に改行を含んでいる信号および名前に改行を含んでいるブロックから発生する名前のない信号を示したものです。

次の例は,モデルで信号ログ形式としてModelDataLogsを使用する場合にログ名のスペースや改行を取り扱う方法を示しています。

logsout
logsout =仿金宝app真软件。ModelDataLogs(model_name): Name Elements Simulink Class ('x y') 1 Timeseries ('a b') 1 Timeseries ('SL_Sine Wave1') 1 Timeseries

选项卡の名前補完機能を使用したり,MATLABに名前を入力して,このログの金宝app仿真软件。Timeseriesオブジェクトにアクセスすることはできません。MATLABパーサーが、各名前のスペースまたは改行を識別子間の区切り文字として認識するため、この構文は認識されません。次に例を示します。

logsout。x y
???logsout。x y| Error: Unexpected MATLAB expression.

名前にスペースが含まれる金宝app仿真软件。Timeseriesオブジェクトを参照するには,スペースを含む要素を一重引用符で囲みます。

logsout。(“x y '
名称:'x y' BlockPath: 'model_name/ sin ' PortIndex: 1 SignalName: 'x y' ParentName: 'x y' TimeInfo: [1x1 Si金宝appmulink. txt]时间:[51x1 double]数据:[51x1 double]

名前に改行が含まれる金宝app仿真软件。Timeseriesオブジェクトを参照するには、連結して改行を含む要素を構成します。

cr = sprintf (' \ n ') logsout。([“一个”cr“b”])

データ ログ内のスペースまたは改行が次の項目の名前に由来している場合も同じ手法を使用できます。

  • 名前のないログ信号の発生元ブロック

  • ログ信号を含むサブシステムまたは模型ブロック

  • モデルの階層構造内でそのブロックより上位にあるブロック

このコードは,信号のログデータを参照できます。

洛格苏特([“SL_Sine”cr“Wave1”])

複数のスペースまたは改行,あるいはその両方を含む名前の場合は,必要に応じて2つの手法を繰り返し組み合わせて使用して,目的の名前をMATLABに指定します。

バス信号

ModelDataLogs形式では,各バス信号データのログが別々の金宝app仿真软件。TsArrayオブジェクトに格納されます。

バス信号の階層は,信号データのログに保持されます。バーチャルバス内の信号のログ名には,ソース信号の名前が使用されます。非バーチャルバス内の信号のログ名には,該当するバスオブジェクトの名前が使用されるので,ソース信号の名前とは異なることがあります。これらの機能の詳細は,合成信号を参照してください。

R2006aより前に導入