メインコンテンツ

テスト ステップと評価の定義

Test Sequence および Test Assessment ブロックでテスト ステップ アクション、遷移、および評価を作成することで、モデルのシミュレーションを評価できます。

Test Sequence ブロックおよび Test Assessment ブロックでは、MATLAB® をアクション言語として使用します。ステップおよび遷移には、string の比較などの string に加え、評価ステートメント、信号生成関数、および関係演算子を含めることができます。詳細については、Test AssessmentTest Sequence、およびTest Sequence エディターを参照してください。

評価のステートメント

シミュレーションを検証し、シミュレーションを停止し、検証結果を返すには、評価のステートメントを使用します。

キーワード説明
verify

論理式を評価し、結果として passfail、または untested を返します。オプションの引数を使用して、テスト マネージャーおよび診断ビューアーで結果にラベルを付けたり、verify ステートメントが失敗した場合にエラー メッセージを返したりできます。

assert

論理式を評価し、式が false に評価された場合はシミュレーションを停止します。オプションの引数を使用して、テスト マネージャーまたは診断ビューアーでエラー メッセージを返すことができます。

時相演算子

シミュレーション時間を評価する式を作成するには、時相演算子を使用します。信号条件の変数は、Test Sequence ブロック内の入力、パラメーター、または定数でなければなりません。次の時相演算子を使用できます。

演算子説明
etテスト ステップの経過時間。時間の単位を指定できます。時間の単位を指定しなかった場合、経過時間は秒単位で返されます。
t

シミュレーションの経過時間。時間の単位を指定できます。時間の単位を指定しなかった場合、経過時間は秒単位で返されます。

after

現在のテスト ステップの開始から指定された時間が経過している場合、true を返します。

before

現在のテスト ステップの開始から指定された時間が経過するまで、true を返します。

duration

指定した条件が true になっている経過時間を返します。テスト ステップに再び入るか、指定した条件が true でなくなると、経過時間はリセットされます。

遷移演算子

信号イベントを評価する式を作成するには、遷移演算子を使用します。信号イベントを評価するには、信号が Test Sequence ブロックまたは Test Assessment ブロックの入力でなければなりません。

演算子説明
hasChanged

指定した信号の値がテスト ステップの開始以降に変化した場合は true を返し、それ以外の場合は false を返します。

hasChangedFrom

指定した信号が指定した値から別の値に変化した場合は true を返し、それ以外の場合は false を返します。

hasChangedTo

指定した信号が指定した値に変化した場合は true を返し、それ以外の場合は false を返します。

信号生成関数

Test Sequence ブロックでこれらの関数を使用して、テスト信号、乱数値、および自然指数を作成できます。一部の信号生成関数では時相演算子を使用できます。詳細については、Temporal Operatorsを参照してください。

メモ

引数の値のスケーリング、丸め、およびその他の近似により、関数の出力に影響が出ることがあります。

関数説明
sin

入力の正弦をラジアンで返します。

cos

入力引数の余弦をラジアンで返します。

square

矩形波テスト信号を生成します。

sawtooth

ノコギリ波テスト信号を生成します。

triangle

三角波テスト信号を生成します。

ramp

入力の値を返します。

heaviside

入力が 0 以下の場合は 0 を返し、それ以外の場合は 1 を返します。

exp

自然指数関数 ex を返します。

rand

一様分布の疑似乱数値を返します。

randn

正規分布の疑似乱数値を返します。

latch

入力の値を保存し、保存した値を返します。ステップが終了したときに保存済みの値をリセットし、ステップが次にアクティブになったときに再評価します。

論理演算子

アクション、遷移、および評価では、論理コネクティブを使用できます。以下の例の pq は、boolean 信号または論理式を表しています。

演算構文説明

否定

~p

p でない

verify(~p)

p && q

p かつ q

verify(p && q)

p || q

p または q

verify(p || q)

包含

~p || q

p であれば q。包含 pq と論理的に等価です。

verify(~p || q)

相互条件

(p && q) || (~p && ~q)

p かつ q、または p でも q でもない。相互条件 pq と論理的に等価です。

verify((p && q) || (~p && ~q))

関係演算子

アクション、遷移、および評価では、関係演算子を使用できます。以下の例の xy は、数値型の変数を表しています。

浮動小数点データを比較する場合、演算子 == または ~=verify ステートメントで使用すると警告が返されます。verify ステートメントを実装するときは、浮動小数点数に関する精度の制限を考慮してください。浮動小数点数を参照してください。浮動小数点データを使用する場合は、評価の許容誤差を定義することを検討してください。たとえば、verify(x == 5) の代わりに、0.001 の許容誤差内で x を検証します。

verify(abs(x-5) < 0.001)

演算子と構文説明
x > yより大きいverify(x > y)
x < yより小さいverify(x < y)
x >= y以上verify(x >= y)
x <= y以下verify(x <= y)
x == y等しいverify(x == y)
x ~= y等しくないverify(x ~= y)

参考

トピック