Main Content

assert

論理式を評価し、false の場合はシミュレーションを停止

説明

assert(expression) は、論理の expression を評価します。論理式は true または false として評価されます。assert ステートメントが false と評価されると、シミュレーションが停止してエラーが返されます。

assert(expression,errmsg) は、失敗した assert ステートメントについて、指定されたエラー メッセージ文字列 (errmsg) を返します。テスト マネージャーでテストを実行している場合、シミュレーション ログにエラー メッセージが表示されます。テスト マネージャーの外部でテストを実行している場合、診断ビューアーにメッセージが表示されます。

すべて展開する

h または k のいずれかが 0 でない場合、この assert ステートメントは失敗し、シミュレーションが停止します。

assert(h==0 && k==0)

ヒント

  • 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 で導入