Embedded Matlab function, simulink loop
显示 更早的评论
Hello.
I have been working with the matlab Embedded function in simulink and I have a problem. I am doing an on-off controller by adding many if statements like this:
if a>10
a=-1;
else
a=9;
end
In this case, a is an input and an output, so I need to feedback it. I have tried to feedback it by conect them directly, by using the workspace and using a Memory block, however I always get this warning:
"Found algebraic loop containing..."
The result is the simulation runs for some seconds but suddently it stops without a reason.
How can I solve this problem?
Thanks
回答(1 个)
Kaustubha Govind
2012-6-11
0 个投票
How about if you insert a Unit Delay block in the feedback loop?
3 个评论
Robinson Medina
2012-6-11
Nicholas
2012-6-11
Have you considered using a persistent variable type?
http://www.mathworks.com/help/techdoc/ref/persistent.html
Kaustubha Govind
2012-6-13
Robinson: Could you explain what you mean by "unstable" - did you mean in the context of controller dynamics? Did the error about algebraic loops go away though?
Nicholas' comment answers the rest of your question.
类别
在 帮助中心 和 File Exchange 中查找有关 Simulink 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!