Reset Initial Conditions of level 1 S-function states

3 views (last 30 days)
Hello.
Is it possible to reset the initial conditions of the states of a continuous time level-1 s-fun? Usually the states I.C. are set by mdlInitializeSizes() function call at the beginning of the simulation. But what if in the middle of the sim I want to reset the IC?
Thanks.

Answers (1)

Andrew Schenk
Andrew Schenk on 17 Jun 2015
There are two ways to do this. You can either:
  1. Add an extra input to the S-function and write a conditional statement to reset the states when the extra input value changes.
  2. Place the S-function inside of an enabled / triggered subsystem and set the "Output when disabled" to "reset" - this will call mdlInitialize every time the subsystem is disabled.

Categories

Find more on Block and Blockset Authoring in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!