コネクタを引数として Modelica 関数を記述することは、少なくとも推奨されていないようです。試してみると、警告が表示されます。
コネクタがあるとします
connector con
Real x;
Real y;
end con;
記録
record rec
Real x;
Real y;
end rec;
と関数
function f
input rec r[:];
output Real z;
algorithm
...
end f;
コネクタの配列が与えられた場合、つまりcon c[N]
、それをレコードの配列に変換するにはどうすればよいrec
ですか?
1つのアプローチは、関数を使用することです
function convert
input Integer N;
input Real x[N];
input Real y[N];
output rec z[N];
algorithm
z.x := x;
z.y := y;
end convert;
経由で呼び出しますconvert(size(c, 1), c.x, c.y)
。
もっと簡単な方法はありますか?