Reset Initial Conditions of level 1 S-function states

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)

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

Asked:

on 16 Jun 2015

Answered:

on 17 Jun 2015

Community Treasure Hunt

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

Start Hunting!