Using Simulink | ![]() ![]() |
Diagnosticsページ
シミュレーション中に起こり得る種々のタイプのイベントや条件に対しては、Simulation Parameters ダイアログボックス上の Diagnostics タブを選択することによって、希望する動作を指示することができます。このダイアログボックスは、つぎのように表示されます。
各イベントのタイプに対して、メッセージを表示しないか、ワーニングメッセージを表示するか、エラーメッセージを表示するかを選択することができます。ワーニングメッセージではシミュレーションは終了しませんが、エラーメッセージでは終了します。
整合性のチェック
適合性のチェックは、SimulinkのODEソルバによる特定の仮定を検証するデバッグツールです。それを使用する主な目的は、S-ファンクションがSimulinkの組み込みブロックと同じ規則に従うようにすることです。適合性のチェックを行うと性能が著しく低下するため(最大40%)、通常は off
に設定しておく必要があります。適合性のチェックは、S-ファンクションを検証し、予期せぬシミュレーション結果の原因の判別に役立てるために使用します。
効率的な積分を実行するために、Simulinkはある時間ステップの特定の値をつぎの時間ステップで使用するために保存(キャッシュ)します。たとえば、時間ステップの終端での微係数は、一般につぎの時間ステップの先頭で再利用することができます。ソルバはこれを利用して、無駄な微係数計算を行いません。
適合性のチェックのもう1つの目的は、与えられたt (時間)の値で呼び出されたときに、ブロックが一定の出力を生成できるように保証することです。ヤコビアンの計算中、ブロックの出力関数を同じt の値で何回も呼び出すことができるので、これはスティッフなソルバ(ode23s
および ode15s
) に対して重要です。
適合性のチェックが有効な場合、Simulinkは適切な値を再計算し、それらをキャッシュされている値と比較します。値が同じでないと、エラーが発生します。Simulinkは、つぎの計算値を比較します。
ゼロクロッシング検出を無効にする
シミュレーションに対するゼロクロッシング検出を無効にすることができます。ゼロクロッシングのあるモデルの場合、ゼロクロッシングの検出を無効にするとシミュレーションは速くなりますが、シミュレーション結果の精度にとっては悪影響を及ぼす可能性があります。
このオプションは、本来ゼロクロッシング検出をもつようなブロックに対して、ゼロクロッシング検出を無効にします。Hit Crossingブロックに対するゼロクロッシング検出は無効にしません。
最適化されたI/Oストレージを無効にする
このオプションをチェックすると、Simulinkはメモリバッファを再利用する代わりに、各ブロックのI/O値に対して分割されたメモリバッファを割り当てます。これにより、大規模モデルをシミュレーションするために要求されるメモリの量が実質的に増加します。従って、モデルをデバックする場合にのみこのオプションを選択するべきです。特に、つぎのような場合にバッファの再利用を無効にすべきです。
Simulinkは、バッファの再利用が有効でバッファが再利用されている信号を表示するためにエラーダイアログをオープンします。
ブール型の検査を緩和する (2.x互換)
このオプションをチェックすると、boolean
型の入力を必要とするブロックが double
型の入力を受け付けるようになります。これにより、Simulink3以前のバージョンのSimulinkで作成されたモデルとの互換性が補償されます。例えば、つぎのモデルを考えます。
このモデルは、boolean
型の入力が通常要求されるLogical Operatorブロックに、double
型の信号が接続されています。その結果、Relax boolean type checking オプションを選択した場合のみエラー無しでモデルを実行することができます。
![]() | Workspace I/Oページ | シミュレーションの性能と精度の改良 | ![]() |