我正在用对称求解集求解累积概率函数(或者如果你想以这种方式思考的话,一般的方程)。目前为止,一切都好。但是,它们将“sets”作为一种结果输出类型返回。我在将它们转换为或将其另存为标准python变量类型时遇到问题:在我的情况下,我希望它是一个浮点数。
我的代码如下:
import sympy as sp
from sympy import Symbol
from sympy import erf
from sympy import log
from sympy import sqrt
x = Symbol('x')
p = 0.1
sp.solveset((0.5 + 0.5*erf((log(x) - mu)/(sqrt(2)*sigma)))-p)
Out[91]:
FiniteSet(7335.64225447845*exp(-1.77553477605362*sqrt(2)))
是否有可能将其转换为浮动?只是使用不起作用,因为我已经尝试过这个,而且到目前为止,我也以某种方式将其存储为列表,然后再次提取数字。然而,这种方式似乎非常麻烦,不适合我的目的。最后,我将让我们说在1000倍以上求解这个方程,我想将所有结果作为包含浮点数的整齐数组。float()
如果按如下方式存储上述结果:
q = sp.solveset((0.5 + 0.5*erf((log(x) - mu)/(sqrt(2)*sigma)))-p)
然后Python说类型是sets.setsFiniteSet,如果你尝试访问变量q,它会给你一个错误(在Spyder btw中工作):
“Spyder 无法从控制台检索此变量的值 - 错误消息为:'元组对象没有属性 'raise_error'”。
我不知道这意味着什么。多谢。
开心每一天1111
相关分类