【发布时间】:2011-06-12 12:09:55
【问题描述】:
你好 我正在尝试开发一个物理问题解决器。该程序将专门为 android 编写,但这并不重要。我有这三个方程,任何了解物理学的人都会熟悉的。
vf = vi + a*t
y= vi*t + .5*t^2
vf^2=vi^2 + 2*a*y
我想开发一个应用程序,它使用这三个方程来求解用户想要的其他值,给定用户拥有的任何已知变量。这是我遇到问题的地方。如果我每次都知道用户会有什么变量,我会很好。但是因为我不这样做,所以我需要我的程序能够重新排列方程并在必要时替换单个变量来评估它们。
我知道答案可能是我需要为每个用户输入组合编写一组单独的代码,但如果有人知道另一种方式,我将不胜感激,这样我就不需要写出全部 100 个代码左右变化。
感谢您的帮助。
【问题讨论】:
-
如果你写下用例是什么,没有 100 个变体,但可能更像 3 个。你只有 vi、vf、y、a 和 t。在不同的情况下,您需要解决其中的一两个。
-
问题在于,仅当方程太难自动求解(太多未知数 => 大的数学和数值问题)时,任何由此编写通用框架的尝试才有用。因此,我提倡手动编码排列。
-
@phkahler 我会说 10。有 5 个变量和 3 个方程,因此必须给出 2 个变量的值。 2C5 = 10.
-
感谢您的帮助。我已经解决了这个问题。
标签: algorithm solver equations