Error while using function block in simulink
Info
This question is closed. Reopen it to edit or answer.
Show older comments
Hi, For a large system i'm trying to simulate i had to write specific code as block in simulink. for simplicity i first tried to do the following simple task (the real function is more complicated but as a sainity check):

But i get the following error:

I would really appriciate any help.
Answers (1)
Sebastian Castro
on 25 Feb 2016
This is an algebraic loop, which means that the output of the block depends directly on the input.
In this case, y cannot be computed without knowledge of u -- both of which refer to the same signal. As the error messages say, this is not valid.
If it makes sense given your modeling requirements, I would recommend using a Unit Delay block in the loop. This delay will change the equations from:
y = u (AT THE CURRENT TIME STEP) + randn(1,2); % Does not work
to:
y = u (AT THE PREVIOUS TIME STEP) + randn(1,2); % Will work
Just make sure the Unit Delay block is sampled at the rate you want by setting its sample time parameter.
- Sebastian
1 Comment
shahar lutati
on 26 Feb 2016
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!