conditionally executed subsystem introduces direct feedthrough
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
i have to run a subsystem conditionally with a fixed step size and generate code for it. I descided to use an enabled subsystem. The subsystem has several inputs and outputs. The problem i am stucking with is that this nonvirtual subsystem now defines a direct feethrough for all outputs (they need all inputs of the same timestep), even if states are introduced inside the subsystem. So what happens is that I introduce an algebraic loop in the parent subsystem - this would not be the case without an enabled subystem.
Adding a unit delay block for the outputs of the enabled subsystem is not acceptable for me because my fixed-step simulation can get instable an inaccurate.
Has anybody any suggestion how to deal with this problem? Or an explanation why the subsystem has to behaves this way?
0 Kommentare
Antworten (3)
Fangjun Jiang
am 3 Nov. 2011
Did you use a Merge block? That's typically needed when you have a conditionally executed subsystem.
0 Kommentare
Pan Zhao
am 23 Jun. 2017
Bearbeitet: Pan Zhao
am 23 Jun. 2017
Hi Markus,
I was wondering whether you figured out your problem. I met a similar problem and solved it in the way explained here https://www.mathworks.com/matlabcentral/answers/345895-why-does-putting-a-s-function-inside-an-enabled-subsystem-cause-an-algebraic-loop.
Regards Pan
0 Kommentare
Siehe auch
Kategorien
Mehr zu General Applications finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!