减小 Dymola 结果的 mat 文件大小

decrease the mat file size of Dymola result

Dymola仿真的结果是.mat文件,可能会很大。下面是一个Power plant模型的一系列结果,仿真时间间隔是0-100000s,但是我只需要90000到100000s的数据,有什么办法让Dymola只输出90000到100000s的数据吗?

Dymola 用户手册中有一节名为“输出点的可变频率”。在那里你会找到关于 Advanced.Simulation.VariableInterval=true

这样的陈述的解释
when time >=… then
  Dymola.Simulation.SetOutputInterval(…);
end when;

将使您能够根据模拟时间设置输出间隔。

此处显示的示例是:

model VariableOutputInterval "demonstrate the use of variable output interval in a model"
  Real x;
equation
  x = sin(10*time);
  
  when initial() then
    Dymola.Simulation.SetOutputInterval(0.1);
  end when;

  when time >= 0.5 then
    Dymola.Simulation.SetOutputInterval(0.05);
  end when;

  when time >= 1.1 then
    Dymola.Simulation.SetOutputInterval(0.002);
  end when;
end VariableOutputInterval;

还有两个注释:

  • 将间隔长度“重置”为模拟设置中的唯一方法是显式设置该间隔,这是在上面最后一个 when 语句中完成的。
  • 每次都必须有一个单独的 when 语句。