1

所以我采用矩阵的行列式,然后尝试使用 Sympy 中的 Solver 来求解特定变量的表达式。

我试图解决的决定因素非常复杂,但其中只有一个变量。作为一个长表达式,我不想将其全部粘贴,但我已将其缩短为给出相同结果的片段;

Determinant = -0.0134365566406344*Nperp**7*sqrt(Nperp**2 + 0.3249)/(3.07787011388119*Nperp**2*sqrt(3.07787011388119*Nperp**2 + 1) + sqrt(3.07787011388119*Nperp**2 + 1)) - 4.2064522609332*Nperp**6/(3.07787011388119*Nperp**2 + 1)

Solutions = solve(Determinant, Nperp**2)

问题是,当我打印 Solutions 时,我得到了一个关于 Nperp 的表达式,而不是我想要的数值解。

我不确定问题是否在于 Sympy 无法处理多项式中的高幂,或者是否可能没有数值解,但我会感谢比我更有知识的人的一些想法。

谢谢!

编辑:代码未缩进

4

1 回答 1

1

你正在解决Nperp**2. 它给你的答案是正确的:Nperp**2根据你的行列式方程,它们确实相等,但这可能不是你想要的。如果您给出solve一个表达式,而不是单个符号,它只会隔离该表达式。

您可能正在寻找

Solutions = solve(Determinant, Nperp)

对我来说,这提供了两种解决方案,[-549.228571428573, 0.0].

于 2016-08-17T16:36:30.737 回答