1
我認爲這是可能的,但我不知道,因爲我找不到任何示例。我希望能夠直接在參數面板中選擇要繼承的模型。Modelica - '擴展'與下拉菜單
我可以想像兩種解決方案:
extends model1 annotation(choices(choice(model1 "Ref"),choice(model2 "New")));
或
extends replaceable model1 annotation(choices(choice(redeclare model1 "Ref"),choice(redeclare model2 "New")));
更新:例如,以更好地解釋我想要做什麼:我想從選擇'Data1'和'Data2'中的'Final'參數面板。
package test
partial model Data1
parameter Real a=1;
parameter Real b=2;
end Data1;
partial model Data2
parameter Real a=1.1;
parameter Real b=1.8;
end Data1;
model Final
extends Data1; //(or Data2)
Real y;
equation
y = a*time+b;
end Final;
end test;
如果我理解正確,我應該: – Songio
如果我理解正確,我應該創建一箇中間模型(INT),僅用於聲明其中的可替換模型(COMP),並且在主模型(MAIN)中擴展INT模型一個可以選擇要使用的COMP模型的redeclare子句。它不是太複雜,但不是直接的...順便說一句,我不知道我是否可以在這種情況下使用下拉菜單... – Songio
我不能肯定地說,自從我真的不知道你在做什麼。你的建議可能會很好。另一種選擇是隻使用可替換的模型。沒有更多的工作知識,我無法給你更好的答案。 –