1

似乎至少不鼓励使用连接器作为参数编写 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

一种方法是使用函数

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)

有没有更简单的方法?

4

0 回答 0