Python 3:Sympy TypeError:无法将表达式转换为float

时间:2018-05-31 04:52:11

标签: python-3.x sympy

非常简单我正在尝试一个函数,其中y = x并尝试将其翻转以求解x而不是y。我做了一些愚蠢的错误,所以要快速测试出这个功能的同情。而且我得到TypeError: can't convert expression to float我遵循了文件,所以不确定我做错了什么。感谢。

我做了什么:

import math
from sympy import solve, Poly, Eq, Function, exp
from sympy.abc import x, y, z, a, b, c
print (solve((((math.sin((((x - (a + 1)) / (b - a)) - 0.5) * math.pi) + 1) / 2) * 1) / math.pow(1.00571, (b + 1 - x)) *c,  a, b,c))

1 个答案:

答案 0 :(得分:0)

您不应将math模块功能与Sympy混合使用。

from sympy import solve, sin, pi
from sympy.abc import x, a, b, c
print (solve((((sin((((x - (a + 1)) / (b - a)) - 0.5) * pi) + 1) / 2) * 1) /\
             1.00571**(b + 1 - x)*c,  a, b,c))

工作并给出以下答案:

[{a: x - 1.0}, {a: 0.666666666666667*b + 0.333333333333333*x - 0.333333333333333}, {b: zoo}, {c: 0.0}]

我不确定这是不是你想要的。