用Python跨越高度
我正在尝试运行一个Python脚本,该脚本计算一个对象从地面到100000米以上然后再回到100000米以下的轨迹。我想计算出在100000米以上要花多少时间。我的轨迹代码很好(龙格库塔),我可以飞到100000米。然而,我无法找出正确的Python算法来保持上升到最高高度,并开始下降到100000米以下 以下是我所拥有的:用Python跨越高度,python,Python,我正在尝试运行一个Python脚本,该脚本计算一个对象从地面到100000米以上然后再回到100000米以下的轨迹。我想计算出在100000米以上要花多少时间。我的轨迹代码很好(龙格库塔),我可以飞到100000米。然而,我无法找出正确的Python算法来保持上升到最高高度,并开始下降到100000米以下 以下是我所拥有的: while(states[4,(i-1)]>=100000,states[4,i]我认为这里的问题是,你需要跟踪你穿越高度的时间。为什么不在循环之前将变量设置为false,
while(states[4,(i-1)]>=100000,states[4,i]我认为这里的问题是,你需要跟踪你穿越高度的时间。为什么不在循环之前将变量设置为false,然后在达到>=100000时设置为true,并将其添加到while中。此外,这些条件是为了离开循环,所以你应该将其取反
reachedHeight = False
while (not (reachedHeight and states[4,(i - 1)] >= 100000 and states[4,i] <= 100000)):
if (not reachedHeight and states[4,i] >= 100000):
reachedHeight = True
...
reachedHeight=False
而(未达到高度且状态[4,(i-1)]>=100000且状态[4,i]=100000):
达到高度=真
...
也可能是一个循环内有中断的条件。我认为这里的问题是,你需要跟踪你穿越高度的时间。为什么不在循环前将变量设置为false,然后在达到>=100000时设置为true,并将其添加到while中。另外,这些条件是为了离开你的循环,所以你应该否定它
reachedHeight = False
while (not (reachedHeight and states[4,(i - 1)] >= 100000 and states[4,i] <= 100000)):
if (not reachedHeight and states[4,i] >= 100000):
reachedHeight = True
...
reachedHeight=False
而(未达到高度且状态[4,(i-1)]>=100000且状态[4,i]=100000):
达到高度=真
...
也可以是一个条件,循环中有一个中断。上面的while
循环将继续循环,除非声明[4,i]
正好等于100000
False和False或True==True
这可能就是您遇到无限循环的原因。您可能希望删除第三种情况,如有必要,在循环内执行其他检查。上述循环将继续循环,除非声明[4,i]
正好等于100000
False和False或True==True
这可能就是您遇到无限循环的原因。您可能希望删除第三种情况,如有必要,在循环内执行其他检查。“状态[4,i]!=100000
意味着让我到达该高度”……怎么回事?!=
是不相等的比较运算符,而不是赋值运算符。”状态[4,i]!=100000
是为了让我达到那个高度“……怎么会这样?!=
是不相等的比较运算符,而不是赋值运算符。