我似乎在 Modelica 中遇到了一个建模问题(使用 Dymola),特此寻求您的帮助。这个想法是这样的:
我已经对一些我想通过它们的端口连接在一起的组件(模型)进行了建模。模型正在工作。问题是我想将几个相同的单元(在下面的伪代码中称为 myUnit)串联起来。如果单位数量只有 5 个,那么我可以轻松地将它们一一拖出并以标准方式连接它们,但假设我想要 100 个单位。有没有一种简单而优雅的方法来做到这一点?我不相信 for 循环在模型的方程部分之外工作,我想要一种优雅的方式来命名单位。我将尝试通过执行下面的伪代码来说明这一点,解释我希望实现的目标:
model someModel
parameter Integer n = 100 "Length of series";
parameter Real optionValue = 123;
myLibrary.myStartUnit startUnit(someOption = optionValue); // First unit
for i in 2:n-1 loop
myLibrary.myUnit unit_'num2str(i)'(someOption = optionValue); // i'th unit
end for;
myLibrary.myEndUnit endUnit(someOption = optionValue); // Last unit
equation
connect(startUnit.outPort,unit_1.inPort);
for i in 2:n-1 loop
connect(unit_'num2str(i)'.outPort,unit_'num2str(i+1)'.inPort)
end for;
connect(unit_'num2str(n-1)'.outPort,endUnit.inport);
end someModel;
我希望我现在已经设法正确解释了我的问题。
解决此问题的任何提示?我非常感谢解决问题的战略建议以及纯粹的句法建议。在此先感谢您的帮助。:)