Я хотел бы использовать функцию / метод класса в моей модели Modelica следующим образом:
optimization Moo(objective=-x(finalTime), startTime = 0, finalTime = 12)
parameter Real e = 0.05;
Real x(start=2, fixed=true, min=0, max=100);
input Real v (min=0, max=1);
function omega
input Real t;
output Real y;
algorithm
y := e;
end omega;
equation
der(x) = v*omega(time);
constraint
v<=1;
end Moo;
Я бы хотел, чтобы переменная e
в функции omega
была переменной, чтобы я мог легко изменить ее значение в более поздний момент времени, когда я выполняю поиск параметров. К сожалению, функция omega
, похоже, не знает о переменной e
, и компилятор JModelica возвращает ошибку:
Не удается найти объявление класса или компонента для e
Я наивно ожидал, что, поскольку omega
и e
принадлежат к одному классу, omega
сможет видеть e
.
Есть ли способ добиться этого?