我想知道下面會發生在Modelica的工作:如果用在方程部分案件
suppose variables a,b
Timetable object c
equation
if a>c.y then
b = f(a) // with f a mathematical function
else
b = g(a) // with g a mathematical function
end if;
der(a) = h(a,b) //with h a mathematical function
如何Modelica的判斷的if語句是真的這種情況下?如果沒有在if語句中確定的「b」的值,它就不能計算「a」的值。
我想我明白你的意思。你也可以說有時一個分支被執行,而不應該執行。這將表明我的計劃效率不高。你知道一種更好的方式來實現它嗎? – barbar
我覺得「不應該」這個詞太強大了。一個人不能爭論是否應該執行一個分支,直到你能確定哪一個分支需要切換爲止。我不認爲這一定意味着什麼是低效的。您可以使用'noEvent'運算符來使'if'語句像您期望的那樣工作。但不是默認行爲的原因是,如果你這樣做,它可能會給集成商造成更多的困惑。在您決定效率低下之前對其進行基準測試。 –