Fortran Coder

查看: 3783|回复: 1
打印 上一主题 下一主题

[其他行业算法] 变减速运动编程

[复制链接]

7

帖子

4

主题

0

精华

入门

F 币
40 元
贡献
27 点
跳转到指定楼层
楼主
发表于 2018-4-3 21:01:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yb6231290 于 2018-4-3 21:27 编辑

请问下用fortran怎么设置if语句,能实现位置x的初值在x0<-3.29或x0>0的时候加速度为0,而当位置x初值x0>=-3.29且x0<=0时,a=-0.162。t秒后,位置到xt时,xt=x0+v0t+0.5*a*t^2满足xt<-3.29或xt>0的时候加速度为0,xt>=-3.29且xt<=0时,a=-0.162。加速度随时间t自动更新。v0=2,x0=-13.29
编完能实现5秒时,xt=-3.29
6.772秒时,xt=-3.387*10^-4实际上是在-3.29<=x<=0处有一个恒加速度a,其他地方都是匀速直线运动。
if怎么调都不对,求解!!


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2018-4-4 07:56:39 | 只看该作者
从加速度到速度,到距离,是一个数值积分问题。可以看数值计算的书,关于梯形法、辛普森等积分方法。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-25 13:18

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表