私はモデリカを学び始めたばかりで、(初心者の)質問が 1 つあります。私にとっての問題は、従来のプログラミングの考え方からモデル的な考え方に考え方を変えることです。
簡単なプログラムを作りたい。5 分の分解能で PV 出力値を含む入力配列があります。熱負荷値を 60 分の解像度で入力した配列があります。過剰なエネルギーを蓄えたり、リアルタイムで熱需要を満たすためにエネルギーを消費したりするエネルギー貯蔵庫があります。
私はopenmodelicaでこれを書きました:
`class Add
Real PV[:] = 100:10:1000;
Real Heat[:] = 200:300:6000;
Real Storage;
Real p;
Integer j;
Integer i;
Boolean power,heat;
equation
power=sample(0,5);
heat=sample(0,60);
when power then
j=j+1;
end when;
when heat then
i=i+1;
end when;
Storage= PV[j] * 2.375-Heat[i];
p=Storage+ pre(p);
end Add;`
しかし、dymola に c/p すると、この " p=Storage+ pre(p); " の部分でエラーが発生します。これは、 pre() を連続モデルに使用できないと表示されているためです。pre() を削除すると、0 で割り切れないと表示されます。
私が間違っていることを説明してもらえますか?
ありがとう!