Simscape の Physical Signal Function ブロックで予期しない​初期出力が発生する場​合、どのようにトラブ​ルシューティングすれ​ばよいですか?

Simscape と Simulink を組み合わせたモデルで、"PS Product" や"PS Add"などの Physical Signal Function ブロックを使用しています。
シミュレーション開始時の出力は 0 になることを想定していますが、物理ネットワーク内の関連する初期ターゲット値を 0 に設定しているにもかかわらず、これらのブロックが t = 0 で 0 ではない値を出力します。
また、"PS Product"ブロックでは、入力の一方が 0 になることを想定している場合でも、初期出力が 0 ではないように見えることがあります。
何を確認すればよいですか?

 Accepted Answer

MathWorks Support Team
MathWorks Support Team on 29 Oct 2026 at 0:00
考えられる原因の 1 つは、Simscape の物理ネットワークを含む外部の Simulink 代数ループです。
Simscape の物理ネットワークは、Simulink の代数ループ内に存在すべきではありません。特に、物理信号が"PS-Simulink Converter"を介して Simscape ネットワークから出て、Simulink ブロックを通過した後、"Simulink-PS Converter"を介して同じ物理ネットワークに戻っていないか確認してください。
この状態を特定し、対処するには、以下を行ってください。
  1. 代数ループの診断を有効にします。
「Configuration Parameters」>「Diagnostics」で、「Algebraic loop」をデフォルト値の「warning」に設定します。この診断が無効になっている場合、Diagnostic Viewer に代数ループの警告が表示されないことがあります。
  • ループに含まれる信号経路を確認します。
  • 物理信号が"PS-Simulink Converter"ブロックを介して Simscape から出て、Simulink ブロックやサブシステムのポートを通過した後、再び物理信号に変換される経路がないか確認してください。
  • 可能であれば、外部の Simulink 代数ループを解消します。
  • フィードバック経路を Physical Signal ドメイン内に維持できる場合は、Simulink の信号経路を Simscape の Physical Signal の直接接続に置き換えます。サブシステム境界をまたぐ経路については、必要に応じて Simscape の"Connection Port"ブロックを使用します。
  • 信号経路を変更した後、再度シミュレーションを実行し、初期出力を確認します。
  • 詳細については、Simscape limitations > Algebraic Loops を参照してください。

    More Answers (0)

    Products

    Release

    R2026b

    Community Treasure Hunt

    Find the treasures in MATLAB Central and discover how the community can help you!

    Start Hunting!