主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

シミュレーション精度の確認と改善

シミュレーション精度の確認

  1. モデルのシミュレーションを適切な時間実行します。

  2. 相対許容誤差を1军医に下げるか(既定は1 e - 3),絶対許容誤差を小さくします。

  3. モデルを再度シミュレートします。

  4. 両方のシミュレーションの結果を比較します。

結果が大幅に異なっていなければ,解は収束しています。

シミュレーションが開始時に重要な動作を見逃すような場合は,初期ステップサイズを小さくして,シミュレーションがその動作を飛ばさないことを確認します。

不安定なシミュレーション結果

シミュレーション結果が時間が経つにつれて不安定になる場合は,以下を考慮してください。

  • システムが不安定になっている可能性があります。

  • ode15sソルバーを使用している場合は,最大次数を2に制限してみてください(ソルバーが一安定であるための最大次数)。また,ode23sソルバーを試すこともできます。

不正確なシミュレーション結果

シミュレーション結果が正確でない場合は,以下を考慮してください。

  • 値がゼロに近づく状態のモデルの場合,絶対許容誤差パラメーターが大きすぎると,シミュレーションがゼロに近い状態値の周辺領域のステップ数が少なすぎます。モデルコンフィギュレーションパラメーターの[ソルバー]ペインでこのパラメーター値を小さくするか,积分器ブロックの函数ブロックパラメーターで個々の状態に合わせて調整してください。

  • 絶対許容誤差を小さくしてもシミュレーション精度が十分改善されない場合は,相対許容誤差パラメーターのサイズを小さくします。この変更で許容誤差を減らし,ステップサイズを敢えて小さくしてステップ数を増やします。

モデル作成の構成によっても,予想外の結果や不正確なシミュレーション結果が生成される場合があります。

  • サンプル時間を継承するブロックは,たとえば下流のブロックのサンプル時間が変更された場合に,異なるシミュレーション結果を生成することがあります(伝播が継承サンプル時間に影響を与える方法を参照)。

  • 代数ループにある导数ブロックは,ソルバーの精度が低下する可能性があります。

関連する例

詳細