在Modelica中建模弹性摆

时间:2015-11-12 19:37:14

标签: modelica

我想在Modelica中建模一个简单的弹性摆; 但是我没有得到正确的结果 - 有人可以帮忙吗? 质量,标称摆长度和引力常数为1。

model SP
  parameter Real k = 1; "spring constant"
  Real y1(start=1), y2(start=0),y3,y4;
  Real ld;

equation 
  ld= k* (sqrt(y1^2+y2^2)-1)/sqrt(y1^2+y2^2);
  der(y1) = y3;
  der(y2) = y4;
  der(y3) = -y1*ld;
  der(y4)= -y2*ld;


end SP;

1 个答案:

答案 0 :(得分:3)

首先是一个小的语法错误。将逗号移至k = 1之后的"spring constant"

之后
  parameter Real k = 1 "spring constant";

其次,给出y3y4初始条件。使用startinitial equation。这是Wolfram SystemModeler中ld的解决方案图:

Plot of the variable <code>ld</code> in Wolfram SystemModeler