different event functions for the same species
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi,
I developed a model in Simbiology in which Fw is a parameter as a function of mass. The mass varies with time.
I want to set two events as follows:
Trigger: mass>=Threshold_mass
event function: Fw = 0.1* mass
Trigger: mass<Threshold_mass
event function: Fw = 0.0003* mass
I received this error message:
"Invalid repeatedAssignment rule 'Rule_20'. The variable 'Fw_T' is also used by an event function.\n"
Could you please suggest any idea that may help?
Thanks
댓글 수: 3
채택된 답변
Arthur Goldsipe
2024년 4월 30일
편집: Arthur Goldsipe
2024년 4월 30일
The problem is that you have two conflicting mathematical definitions of Fw. You are trying to set it with both a repeated assignment rule (which applies at all times during a simulation) and with an event (which modifies Fw when a condition is met). What is your intent? Perhaps you only meant for the rule to apply at time 0, in which case you should change it to an initial assignment. Then you can set it with an event at later times.
댓글 수: 6
Torsten
2024년 4월 30일
편집: Torsten
2024년 4월 30일
Often, packages are that encapsulated that they lack the necessary flexibility for special requests. I don't know SimBiology, but there might be situations (not in this case) when a "quick-and-dirty" solution is better than no solution.
In case an ode solver would have been used directly for the above case, the event I would have chosen is when mass - Threshold_mass = 0 with a reset of Fw and restart after this event had happened. For me, this solution seems more natural than yours. But as said: since we are in the straitjacket of SimBiology, the internal possible options have to be respected.
Arthur Goldsipe
2024년 4월 30일
@Torsten you make a good point. I'll keep thinking about how we can loosen this stratjacket we find ourselves in. :-)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Extend Modeling Environment에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!