这个是我练习用M文件编写s-function的一个例子。关于M文件的模板可以在matlab的命令行窗口中敲入edit Sfuntmpl.m,此处不在赘述。
题目为:蹦极跳是一种挑战身体极限的运动,蹦极者系着一根弹力绳从高处的桥梁或山崖向下跳。如果蹦极者系在一个弹性系数为 k 的弹力绳索上。定义绳索下端的初始位置为 0,则蹦极者受到的弹性力是
整个蹦极跳系统的数学模型为:
其中m为物体的质量,g为重力加速度取10,x为物体的位置,第二项为物体受到的弹性力,第三项和第四项表示空气的阻力。桥梁距离地面的高度为50m,绳子的原长为30m,弹性系数k为50,a1=a2=1。试判断质量为70kg的人是否能够安全地享受此游戏带来的乐趣。下图为整个系统的示意图。
解:为了便于后面的仿真计算,可以将物理模型写成如下状态方程形式:
其中,x1=x,x2=d(x1)。
下面开