在Modelica中建立弹性摆的模型
我想在Modelica中模拟一个简单的弹性摆; 但我没有得到正确的结果-有人能帮忙吗?在Modelica中建立弹性摆的模型,modelica,Modelica,我想在Modelica中模拟一个简单的弹性摆; 但我没有得到正确的结果-有人能帮忙吗? 质量、标称摆长和重力常数取一 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;
质量、标称摆长和重力常数取一
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;
首先是一个小的语法错误。将
k=1
后面的逗号移动到后面的“弹簧常数”
:
其次,给出y3
和y4
初始条件。使用开始
或初始方程
。以下是Wolfram SystemModeler中ld
的解决方案图:
您得到的结果是什么,为什么不合适?如果您使用变量名来解释预期的含义,或者添加注释和解释,就像您对“k”所做的那样,可能会有所帮助。
parameter Real k = 1 "spring constant";