Feedback loop using MATLAB function block in Simulink gives wrong answers

3 Ansichten (letzte 30 Tage)
Hi, I am just implementing a very basic simulink function block to use a feed back loop as a test for its application in a larger project. According to the code the result should be 10 always. However I am getting -10 most of the time with some vague results initially of order 10^(-16). This is my function block code
function y = fcn(u,v)
%#codegen
y = 2*v+u;
disp(y);
This is the simulink diagram
What could be off here?

Antworten (1)

Abel Babu
Abel Babu am 2 Jun. 2017
Hi Amol,
The issue that you are facing might be due to the formation of algebraic loops, i.e a direct feed through, more about the same can be read here: https://in.mathworks.com/help/simulink/ug/algebraic-loops.html
Hence, a way out of this would be to introduce a delay. If you are using continuous time, use the Transport Delay else use the Delay (Simulink/discrete)
Abel

Kategorien

Mehr zu Simulink finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by