algebraic loop
显示 更早的评论
I'm trying to make an application using Simulink but I'm encountering some mistakes. The output of my subsytem is a derivative of a variable, dw, then I use an integrator to integrate this variable and get w, then I feed back this system with this same variable and I get this message below.
"Cannot solve algebraic loop involving 'novo_modelo/Fuel Cell Stack/Anode Flow Model/Anode' because it consists of blocks that cannot be assigned algebraic variables, i.e., blocks with discrete-valued outputs, blocks with non-double or complex outputs, Stateflow blocks, or nonvirtual subsystems"
Why of this? Am I doing something wrong?
回答(2 个)
Fangjun Jiang
2011-12-20
0 个投票
It sounds like that the algebraic loop should not occur since you have an integrator, unless what you described of your model is not accurate.
7 个评论
Danilo NASCIMENTO
2011-12-20
Fangjun Jiang
2011-12-20
Can you re-examine your question? I am not sure if it's complete accurate, e.g. "the output of my subsystem is a derivative ...", should it be "the input"? There are ways to eliminate the algebraic loops in the link provided. Maybe you can post a snapshot of your model in your question.
Danilo NASCIMENTO
2011-12-20
Danilo NASCIMENTO
2011-12-20
Kaustubha Govind
2011-12-20
Is your subsystem atomic? Also, is the integrator placed inside the subsystem or outside of it?
Danilo NASCIMENTO
2011-12-20
Danilo NASCIMENTO
2011-12-20
Guy Rouleau
2011-12-21
0 个投票
I recommend taking the time to go through the algebraic loop section of the doc:
This section contains multiple examples explaining what is an algebraic loop, an atomic subsystem and why it can lead to "artificial" algebraic loop.
类别
在 帮助中心 和 File Exchange 中查找有关 Simulink Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!