Python 用一元函数求解非线性方程
我正试图用Symphy在python中求解以下等式 13000*1.44**x=1000000 我试过:Python 用一元函数求解非线性方程,python,sympy,Python,Sympy,我正试图用Symphy在python中求解以下等式 13000*1.44**x=1000000 我试过: x = symbols('x', real=True) print(solveset(Eq(130000*1.44**x, 1000000), x)) 现在这确实给出了: ConditionSet(x, Eq(1.44**x - 100/13, 0), Complexes) 这个方程不适合解算集吗?我需要用fsolve解决这个问题吗 提前感谢您得到这个答案的原因是,复数上有无穷多个解。
x = symbols('x', real=True)
print(solveset(Eq(130000*1.44**x, 1000000), x))
现在这确实给出了:
ConditionSet(x, Eq(1.44**x - 100/13, 0), Complexes)
这个方程不适合解算集吗?我需要用fsolve解决这个问题吗
提前感谢您得到这个答案的原因是,复数上有无穷多个解。假设您只需要实数,请尝试使用
solveset\u real
:
从sympy.solvers.solveset导入solveset\u real
x=符号('x',实=真)
打印(solveset_real(等式(130000*1.44**x,1000000),x))
明白了吗
FiniteSet(2.74240747387354*log(100/13))
从文件中。尝试添加文档中的
domain=
参数。我不会使用scipy
标记,因为这与scipy完全无关。谢谢,我这么做了,因为我认为可能需要fsolve。我删除了TagThreak-wsdookadr,并将其添加到solutionMan Threak下的评论中!我认为real=True就足够了,我不知道solveset_实物期权,也没有在sympy网站上读到它。我习惯于Matlab符号集(等式(130000*1.44**x,1000000),x,domain=S.Reals),我也喜欢这个。请参见注释@wsdookadr@matthijsW我想solveset
忽略了符号类型(不记得real=True
让您诚实地理解了什么)。您可能会将此作为一个问题向sympy开发人员提出,看看他们对此有何看法。