有没有人知道可以求解运动方程的开源计算机代数库?

时间:2013-01-05 04:54:14

标签: c++ algebra computer-algebra-systems

我一直在寻找一个开源计算机代数库,可以解决一个方程组,如kinimatic方程。所以我会以某种方式输入5个变量中的3个(初始速度,最终速度,加速度,距离和时间),并指定要求解的变量,它会给我答案。我认为找到可以做到这一点的事情我遇到的问题是这些方程是非线性的。我想知道是否有人知道可以做到这一点的事情?我只是使用运动学方程式作为一个例子,好像它可以做到这一点,它将能够完成我需要的一切。我不知道我是否要求太多,但我很感激任何答案!

2 个答案:

答案 0 :(得分:0)

SAGE工具包含许多开源工具,包括函数的符号操作和线性代数。请注意,您的挑战可能不在于进行代数,这对于计算机或数学家来说不是一个难题,而是在定义问题时。如果您只输入三个变量,那么您正在寻找输出函数而不是数字。问题是,您希望计算机如何处理这些无数的功能?绘制它们,或者只是将它们呈现给用户很简单,但如果您希望计算机对它们执行更多有用的工作,您可能需要更仔细地定义您的问题。我想你可能会发现代数可以很容易地在纸上完成,并且硬编码到你编写的任何软件中(毕竟,运动方程式几百年来没有改变),而编写软件来通用操作和解决物理问题方程式是一个很大的挑战。

如果您倾向于使用Wolfram产品,正如另一位用户所提到的,您可能对Mathematica感兴趣,它提供的功能远远超过Wolfram Alpha或SAGE,但它是商业产品。它可以通过绑定到其他几种语言进行接口。

答案 1 :(得分:-2)

我使用WolframAlpha.com网站解决了一些复杂的逆运动学方程。 wolframalpha解决变量的语法如下:

solve for(varable1, variable2,...,variablex),equation1, equation2...

所有变量都是单个字母。

例如,当求解x和y的系统时,方程是:

d=cos(x)a+sin(y)b

h=sin(x)a-cos(y)b

的格式如下:

solve for(x,y), d=cos(x)a+sin(y)b , h=sin(x)a-cos(y)b

Wolfram alpha将能够解决这些变量。如果你想要运行时解决,那么这篇文章不适合你。