assert
論理式を評価し、false の場合はシミュレーションを停止
説明
assert(
は、論理の expression
)expression
を評価します。論理式は true
または false
として評価されます。assert
ステートメントが false
と評価されると、シミュレーションが停止してエラーが返されます。
assert(
は、失敗した expression
,errmsg
)assert
ステートメントについて、指定されたエラー メッセージ文字列 (errmsg
) を返します。テスト マネージャーでテストを実行している場合、シミュレーション ログにエラー メッセージが表示されます。テスト マネージャーの外部でテストを実行している場合、診断ビューアーにメッセージが表示されます。
例
ヒント
assert
ステートメントは、Test Sequence ブロック、Test Assessment ブロック、および Stateflow® チャートで使用できます。Model ブロックのassert
はノーマル モードでは機能しますが、ラピッド アクセラレータ モードのシミュレーションでは機能しません。メモ
Test Sequence ブロックまたは Stateflow チャートの
assert
ステートメントは、コード生成ではサポートされないため無視されます。そのため、Simulink® Real-Time™ のシミュレーション中に assert 条件を満たさなくてもエラーは発生しません。ただし、verify
ステートメントは Simulink Real-Time のコード生成でサポートされ、テスト マネージャーでテスト ケースの結果が自動的に記録されます。これと同じログ動作を Simulink Assert ブロックの使用時に利用できます。assert
ステートメントで浮動小数点データを比較するときは、浮動小数点数に関する精度の制限を考慮してください。浮動小数点データを使用する必要がある場合は、評価の許容誤差を定義します。浮動小数点数を参照してください。たとえば、assert(x == 5)
の代わりに、0.001 の許容誤差内でx
をアサートします。assert(abs(x-5) < 0.001)
バージョン履歴
R2015a で導入