【问题标题】:Solve Equations from Equations Mathematica从方程求解方程 Mathematica
【发布时间】:2012-06-18 01:26:09
【问题描述】:

好吧,我需要一种方法来通过从 Mathematica 8 中的其他方程得到的另一个 var 来求解方程。示例:

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

它将为给定值选择最佳方程并求解其余部分。 使用一些给定的值,例如a = 1c = 3,它会求解系统,获取相应变量的值。 *将其用于物理公式。

【问题讨论】:

  • 展示你的尝试是个好主意。

标签: wolfram-mathematica equation-solving


【解决方案1】:

使用 Solve 或 Reduce 函数。语法是

求解[{方程列表},{要求解的变量}]

所以在这种情况下:

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 维线上 (-4 + (3 n)/2, n/2, n-2, n)

【讨论】:

  • 谢谢,但是当我将方程式列表放入模块或块中时,它无法解决系统问题。
  • @Odinfall 你能解释一下你的意思吗?我不确定我是否跟随。
  • 在模块内运行 Solve 或 Reduce 应该可以工作。例如:solver[eqList_, varList_] := Module[{}, Reduce[eqList, varList]];solver[{a + b == 2 c, c + 2 == d, d == 2 b}, {a, b, c, d}] 这个确切的代码虽然有效,但毫无意义,因为它只是包装了 Reduce。但是,如果您需要模块中的 reduce 的结果(听起来很像),您可以使用此设置并向模块添加更多内容。 (特别是,您可能希望在新变量中捕获 Reduce 调用的输出。)
猜你喜欢
  • 2015-02-12
  • 1970-01-01
  • 2015-10-10
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多