adams求微分方程c语言,ADAMS在求解微分方程组中的应用

ADAMS 在求解微分方程组中的应用在求解微分方程组中的应用 众所周知 ADAMS 具有强大的结算功能,在求解动力学问题方面可谓得心应手。在此 我想介绍一下它在求解非线性微分方程组方面的应用。 在工程分析中我们经常用一组微分方程来对一个过程进行描述。 我所熟悉的内外弹道现 象最后都归纳为一个微分方程组。这样最后对问题的解决也就转移到对方程组的求解上了。 而这一类微分方程绝大部分不能给出解析解, 只能采用数值解法来求解近似解, 常用的一种 便是龙格库塔法了。这又牵扯到编程,界面的组织及结果的处理,虽然解决方法明了,但实 际操作是很麻烦的。我以一个简单的例子说明用 ADAMS 来解决类似的方程组。在这个过 程中,我们无需编程,不需要了解什么数值解法,只需把 ADAMS 的解算器看成一个黑匣 子就可以了。 假设一个物体在地面上运动, 它由于受到空气阻力会做减速运动。 而空气阻力是与物体 运动速度相关联的, 它不像摩擦系数那样是一个稳定的值或系数。 也就是说空气阻力是速度 的一个函数。假设关系为:)(vfF =。在此不考虑摩擦力,那么对物体的运动过程可以用 以下方程组来描述: dt dx v = m vf m F dt dv a )( −=−== 上述的方程组有解,并且解是唯一的。现在我们用 ADAMS 来解此问题。首先建一个 任意形状的物体,比如一个块体,修改其质量,使其为m,赋予其初速 0 v,这都为初始条 件。然后给其加一与运动方向相反的力)(vfmaF==。然后一切 OK 了,接着进行仿真, ADAMS 便会自动求解该运动过程了。在后处理中可以看到各运动诸元了,自己就无需为结 果的处理而犯愁了。 上面只是举一个简单的例子。有的虽然复杂,但解决思路是一样的。象我在求解外弹道 时,弹丸受的空气阻力要分解成两个方向,而且还有一个跟速度有关的阻力系数,还有跟弹 丸高度有关的函数式, 虽然有些复杂, 但只要理顺好了关系, 在弹丸上施加一个力的表达式, 而这个表达式应该是弹丸运动过程中的一个可测量的值, 比如速度, 加速度或质心位置等就 可以了。最后我还设计了一个界面,可以解任意的弹丸外弹道问题。界面如下所示: 输入初始条件,按“确定”键就可进行计算了,比起自己编程,省事多了,而且绝对准 确。 另外由于 ADAMS 不支持汉字,因此我们在写自己的对话框时,为了使各参数更明确, 在定义 Label 时在 “Label text” 里不要填, 而要把汉字说明保存成 bmp 图片形式, 再在 “Icon file”里写出关联的图片地址,如下所示,虽然有些麻烦,但明了直观。 希望对诸位有益。 Nijinf 于南京理工大学 2004-11-1

展开阅读全文

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值