我需要一些关于在 openmodelica 中初始化数组的帮助。我创建了一个 modelica 类,它应该生成一个可变大小的数组。大小将被设置为参数并且是整数类型。下面是我想做的一个例子。我不断收到错误消息,并很乐意收到任何提示!谢谢。
parameter Integer f_min;
parameter Integer f_max;
Integer Freq_steigerung;
Integer array_size;
Integer Freq[:];
equation
array_size = ceil((f_max-f_min)/Freq_steigerung);
Freq[array_size] = f_min: Freq_steigerung: f_max;
最佳答案
在 Modelica 中,您不能在运行时拥有可变大小的数组。 所有数组大小都需要在编译时知道,因此大小需要是参数或常量。
您可以拥有包含数组大小未知的组件的函数(或记录),但它们需要在调用时绑定(bind)(因此在编译期间仍然已知)。
这样的事情会起作用:
model T
parameter Integer f_min;
parameter Integer f_max;
parameter Integer Freq_steigerung;
parameter Integer array_size = integer(ceil((f_max-f_min)/Freq_steigerung));
Integer Freq[array_size];
equation
Freq = f_min: Freq_steigerung: f_max;
end T;
关于arrays - 在 modelica 中初始化未知大小的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42457828/