連続系の状態量を含む​モデルにおいて、ある​ステップでS-Fun​ctionが複数回コ​ールされてしまいます​。

1 vue (au cours des 30 derniers jours)
MathWorks Support Team
MathWorks Support Team le 25 Oct 2013
連続系の状態量を含むモデルにおいて、あるステップでS-Functionが複数回コールされてします。複数回呼ばれないようにするには、どのようにすればよいですか?

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 17 Fév 2021
Modifié(e) : MathWorks Support Team le 26 Mar 2021
連続系の状態量を含むモデルでは、積分を解く為にODEソルバを使います。ODEソルバにはマイナーステップと呼ばれるステップが含まれることがあります。 この影響により、1ステップ時間に複数回 mdlOutputsルーチンがコールされ、静的変数等を使って、カウンタ処理を実現されている場合などに、予期せぬ出力結果が出力されることがあります。
この現象を回避するには、S-Function の API である ssIsMajorTimeStep を使用して、 メジャーステップの場合のみ、処理を実行するように、プログラミングしてください。
if(ssIsMajorTimeStep(S))
{
実現したい処理;
}
下記 URL より本件に関する参考情報をご覧いただけます。
● "Zero Crossings"

Plus de réponses (0)

Catégories

En savoir plus sur Block and Blockset Authoring dans Help Center et File Exchange

Produits


Version

R2008b

Community Treasure Hunt

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

Start Hunting!