Fortran Coder

查看: 51|回复: 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怎么调都不对,求解!!


回复

使用道具 举报

522

帖子

0

主题

0

精华

大师

F 币
571 元
贡献
256 点

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

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

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2018-4-22 18:35

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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