Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

要件への仮定の追加

R2022a 以降

Requirements Table ブロックで形式的要件を指定する際、モデルの物理的または数学的な制限によってデータが特定の値にならないことがあります。[仮定] タブで仮定を作成することで、要件でチェックされる入力データの値を制約できます。

Requirements Table ブロックでは、要件よりも先に仮定を評価します。仮定には、前提条件を定義する [前提条件] 列と事後条件を定義する [事後条件] 列があります。新規の Requirements Table ブロックには空の仮定が 1 つ含まれます。

This shows the inside of a new Requirements Table block on the Assumptions tab. It contains one blank assumption.

仮定の前提条件を満たす場合、要件で使用されるデータに対して事後条件で制約が適用されます。仮定の前提条件を満たさない場合、事後条件の制約はブロックで無視されます。[要件] タブの事後条件とは異なり、[仮定] タブの事後条件は必ず満たす必要があり、満たさない場合はブロックからエラーが返されます。入力値に関係なく仮定を適用する場合は、事後条件を入力し、事前条件を空のままにします。

テーブルでは、コンテキスト メニューを使用して [要件] タブと同じアクションを実行できるほか、仮定を追加、変更、削除できます。

  • 仮定を追加するには、[インデックス] 列のセルを右クリックして [次の後ろに仮定を追加] をクリックします。

  • 仮定を削除するには、行インデックスを右クリックして [仮定の削除] を選択します。

  • 仮定をクリアするには、行インデックスを右クリックして [仮定をクリア] を選択します。

仮定の定義には、要件の前提条件および事後条件と同じ構文を使用します。形式的要件の式の作成を参照してください。仮定には列ヘッダーのセルはなく、それぞれの仮定に前提条件と事後条件が 1 つだけ含まれます。

モデル例での仮定の使用

この例では、仮定を使用して単純な車両点火システムの要件を評価し、モデルの物理的な制限を確立します。仮定を含めることで、要件で使用されるデータの取り得る値がブロックで制約されます。

Requirements Table ブロックを開きます。このブロックは、3 つの入力端子 "Throttle""Ignition"、および "Speed" で信号を取得します。ブロックでは、同じ名前のデータを定義して、"Speed" の信号が "Throttle""Ignition" の値の指定された範囲についての条件を満たすことを確認します。

[仮定] タブをクリックします。テーブルに、システムの物理的な制限に基づいて入力 "Throttle" を制約する 2 つの仮定が含まれています。

  1. 車両の点火がオフの場合はスロットルもオフでなければならない。

  2. スロットルが負であってはならない。

最初の仮定で最初の制限が適用され、2 番目の仮定で 2 番目の制限が適用されます。

参考

関連するトピック