Wolfram mathematica 使用mathematica中的函数输出进行进一步计算

Wolfram mathematica 使用mathematica中的函数输出进行进一步计算,wolfram-mathematica,Wolfram Mathematica,Mathematica有很多有用的函数(Solve、NDSolve等)。这些函数以一种非常奇怪的方式输出,即{{v->2.05334*10^-7}。主要的问题是,似乎没有任何方法在程序中使用这些函数的输出;也就是说,所有这些似乎都是终端功能,其输出仅用于人类查看 我已经尝试了多种方法(Part,/。,等等)来尝试将函数的输出转换成变量,这样程序就可以在后续步骤中使用它们,但没有任何效果。文件上说这是可以做到的,但实际上他们没有列出任何功能。例如,如果我尝试使用/。要移动变量,它会继续将我分配给的

Mathematica有很多有用的函数(Solve、NDSolve等)。这些函数以一种非常奇怪的方式输出,即
{{v->2.05334*10^-7}
。主要的问题是,似乎没有任何方法在程序中使用这些函数的输出;也就是说,所有这些似乎都是终端功能,其输出仅用于人类查看

我已经尝试了多种方法(
Part
/。
,等等)来尝试将函数的输出转换成变量,这样程序就可以在后续步骤中使用它们,但没有任何效果。文件上说这是可以做到的,但实际上他们没有列出任何功能。例如,如果我尝试使用
/
。要移动变量,它会继续将我分配给的变量视为空,并对其进行符号运算,而不是查看值。如果我尝试访问变量ie
[[1]]
,它会说变量没有那么深


我发现的唯一方法是将后面的步骤放在单独的块中,并复制粘贴输出以继续计算。有没有办法通过编程将这些函数的输出转换成变量

求解等。生成替换规则列表。因此,您需要将这些规则应用于要替换的模式。比如说

solutions = x /. Solve[x^2 == 3, x]
提供列表中的所有解决方案

以下是获取解决方案变量名称的快速方法:

x1 = solutions[[1]]
x2 = solutions[[2]]

是的,这很有效。文档使is看起来像是您在没有
solutions=
的情况下输入的,并直接使用x。我同意这可能在开始时显得有些不完整。但是Mathematica的方法实际上是非常合理的,一旦你有了一个多变量解的例子,你就会发现这一点。在Python这样的语言中,您可能会返回“dictionary”映射类型。列表理解和numpy数组使得这种数据处理在该语言中非常简单。再一次,据我所知,这种类型的解决在python中是不可能的;你所能做的最好的方法是自行编写一个非常复杂的循环搜索程序,以找到一个足够接近某个特定问题的解,而这完全忽略了符号解。在Mathematica中,约定是不同的<代码>解决方案=x/。如果仔细想想,Solve[x^2==3,x]实际上与编写Python列表理解没有太大区别。如果你喜欢Python,你看过Sympy或Sage吗?见例。