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
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 个评论

So what I'm suppose to do,I need to integrate the function. I'm using an integrator block outside the subsystem.
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.
I'm trying to take a snapshot of my model but it is not working here.
It is File Exchange>>Submit a File, isn't it?
The output of my system is exactly the derivative, that's why I pass it through the integrator to get the primitive variable.
Is your subsystem atomic? Also, is the integrator placed inside the subsystem or outside of it?
Where do I see whether it is atomic or not? And the integrator is within the subsystem.
The problem is only with the integrator? There are other subsystems that are having the same mistake and they don't have integrator.

请先登录,再进行评论。

Guy Rouleau
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!

Translated by