Take a look and give me your opinion about how to break the Algebraic Loop

2 Ansichten (letzte 30 Tage)
I present you in the attached documents a DC load modeled, but I do not know how to model it without produce a ALGEBRAIC LOOP when i try to sense at the same time the voltage variation from battery against the time, I produce a algebraic loop by a feedback, that's why i set in the rigth place where should be a path to the voltaje meter a constant block, but for it's condition (constant block) it will not register the variability from the DC voltaje than supply the load demand, but it runs, I know than i'm near to the answer, because i need collect the battery discharge in funtion of the consumption that is variable in funtion of the time, i also need to see the current variation in amperes per load consume, and the %SOC versus the time. I will show you both with with and without Algebraic Loop Please help me with this.
  2 Kommentare
Rakesh Chavan
Rakesh Chavan am 6 Jan. 2016
Hi,
I was trying to simulate your model however some variables are missing in the Init call back of the model are missing. Can you please share those as well so that we can simulate the model.
Tony Castillo
Tony Castillo am 8 Jan. 2016
t=60 Temp=1 E=1 This are the variables that are missing in the model, excusme for forget it, thanks for interest showed by it

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Dennis
Dennis am 7 Jan. 2016
Is a delay acceptable? The Simulink User Guide suggests it at Page 13-13 "Cyclic Data Dependency".
Try inserting it between the looped signal and an input to one block. Does it work?
  2 Kommentare
Tony Castillo
Tony Castillo am 8 Jan. 2016
I set a memory block (is that you mean with add a delay block?), and happen this errors, it does not work my friend
Dennis
Dennis am 21 Jan. 2016
Bearbeitet: Dennis am 21 Jan. 2016
You could try to include the memory block after the green box, or at another place. That error means that one of the signal changes suddenly like a step signal and hence, the derivative is non finite. If you cannot help yourself by altering the position of the delay, try to include a transfer function with a fast filter like nom [1] and den [0.001 1], it will smoothen out your derivative. However, that last suggestion is not perfect.
Also, you can try to use "unit delay" instead of the memory block, but that might not be your issue. If you found a solution, please tell us what worked out for you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 7 Jan. 2016

Kategorien

Mehr zu Physical Units 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