MATLAB: Algebraic loop when impementing switching system dynamics using If-Else Action Subsystems

actionalgebraiccontrolfeedbackif elseloopsimulinksubsystems

I have a Simulink model that consists of multiple 'If action subsystems' in a sequence, each modeling a plant with certain dynamics and each feeding the final value of its state as the initial condition to the next plant. The control input to all the plants (subsystems) is a feedback signal. When I try to run the model, I see an error message that says
'Input data dependency validation error'.
Why is this so?

Best Answer

Please check the model for any algebraic loops. This is likely a causality problem, where at the first time step, there is no output available to generate the control input. This can be corrected by passing the output feedback signal through a Unit Delay block.