conditionally executed subsystem introduces direct feedthrough
조회 수: 1 (최근 30일)
이전 댓글 표시
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
답변 (3개)
Fangjun Jiang
2011년 11월 3일
Did you use a Merge block? That's typically needed when you have a conditionally executed subsystem.
댓글 수: 0
Pan Zhao
2017년 6월 23일
편집: Pan Zhao
2017년 6월 23일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 General Applications에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!