2012-06-18 137 views
1

很好地解决方程,我需要一种方法来解决另一个变种方程从其他方程中数学得了8例:从数学公式

a + b = 2c 
c + 2 = d 
d = 2b 

它会选择最佳的方程在给定值,并解决休息。 使用某些给定值(如a = 1c = 3),它解决了系统问题,获取了相应变量的值。 *将使用此物理公式。

+3

这是一个好主意,显示你的尝试。 –

回答

1

使用解决或减少功能。语法是

解决[{方程LIST},{变量求解}]

因此,在这种情况下:

Solve[{a + b == 2 c, c + 2 == d, d == 2 b}, {a, b, c, d}] 
(*-> 
{{a -> -4 + (3 d)/2, b -> d/2, c -> -2 + d}} 
*) 

有4个变量和只有3个方程,所以有无限的解决方案。
他们躺在四维线(-4 + (3 n)/2, n/2, n-2, n)

+0

谢谢,但是当我把公式列表放入模块或块中时,它不能解决系统问题。 – Odinfall

+0

@Odinfall你能解释一下你的意思吗?我不确定我是否遵循。 – rcollyer

+0

在模块内部运行求解或减少应该可行。例如:'求解器[eqList_,varList_]:= Module [{},Reduce [eqList,varList]];' '求解器[{a + b == 2 c,c + 2 == d,d == 2 b},{a,b,c,d}]'这个确切的代码尽管有效,但是毫无意义,因为它只是简单地包装Reduce。但是,如果您需要模块中的缩减结果(如听起来那样),则可以使用此设置并向模块添加更多内容。 (特别是,您可能想要在新变量中捕获Reduce调用的输出。) –