我一直在互联网上寻找解决我的问题的方法。首先是一些背景。我正在编写一个计算弹射器轨迹的程序。用户必须首先输入一段距离。然后我循环遍历角度和速度的组合,以找出哪个组合将给出最接近用户输入的距离。我不太清楚如何进行变量比较以找出度数和速度的哪个组合产生最接近用户输入的距离的距离。我只是尽量保持简单和容易。另外,我没有使用任何类型的数组来存储值。如果可能的话,我希望它在我的 for 循环中即时完成。有什么建议么?
user2507318
问问题
98 次
1 回答
1
嗯,这个问题的答案取决于你的轨迹公式的复杂性。我猜你没有考虑流体动力学或重力差异。事实上,我想象的是你正在使用一个基本的抛物线方程......
该方程可以通过重新排列直接求解。但问题是,您正在解决两个实际上相互依赖的变量。如果您允许角度和速度都变化,则有无限的解决方案,因此您需要通过某些标准(例如,所需的角度或所需的速度)限制“最佳”答案。
如果您有更多变量,例如升力、阻力、旋转、入射形状、非恒定重力、气压和湿度,那么您将需要采用非平凡的最小化算法。Nelder-Mead 算法是最基本但有点不稳定的算法之一。
如果这还不够有用,您应该提供有关您的问题的更多信息,并显示一些代码。
于 2013-06-21T01:57:16.030 回答