我如何解方程';tan(x)-1/x=0';用python?

我如何解方程';tan(x)-1/x=0';用python?,python,Python,我试着用这段代码来解这个方程,但没用 from sympy import * import numpy as np x= symbols('x') gfg_exp = np.tan(x)-1/x intr = solve(gfg_exp, x) print("After Integration : {}".format(intr)) 我确信这是由于tan(x)造成的。 如果这是一种糟糕的方法,那么Python是否有

我试着用这段代码来解这个方程,但没用

    from sympy import *
    import numpy as np  

    x= symbols('x') 
    gfg_exp = np.tan(x)-1/x
    intr = solve(gfg_exp, x) 
    print("After Integration : {}".format(intr)) 
我确信这是由于tan(x)造成的。 如果这是一种糟糕的方法,那么Python是否有好的代码在特定的时间间隔内处理这些方程?
使用数值算法会很好,但一个接一个会花费太多时间,而且单独设置初始值会很不方便。

您没有指定需要代数/解析解。。。很好,因为我认为没有。关于公司的意见,执行如下:

    ----> 5 gfg_exp = np.tan(x)-1/x
    TypeError: loop of ufunc does not support argument 0 of type Symbol which 
    has no callable tan method
这可能会起作用,但实际上会产生错误
没有实现任何算法来求解方程tan(x)-1/x

但是,请注意:

tan(x)=1/x->x=arctan(1/x)

请注意,此表达式对
x
的导数为
-1/(1+x²)
,其绝对值始终小于1,因此可以进行定点迭代以获得数值解,例如:

import sympy
x = sympy.symbols("x")
out = sympy.solve(sympy.tan(x) - 1 / x, x)
这让我感到:

import numpy as np

x = 1
tol = 1e-17
while np.abs(np.tan(x) - 1/x) > tol:
    x = np.arctan(1/x)
    print('x =', x)

print('Final error:', np.abs(np.tan(x) - 1/x))

请注意,我使用了
x=1
作为初始猜测,但您始终可以选择任何区间的中间作为初始猜测,只要您不是从0开始,您可能需要在方程中添加偏移量,以处理反正切函数只产生
[-pi,pi]结果的事实
interval.

如果您正在查找x的值,我可以帮助您。
您需要为x提供一个用户输入或任何变量。还有一个名为math的库(需要使用它的python inbuild库)。方程的一侧需要有变量x。所以方程是x=tan(x)-1。它可能会起作用,为了计算tan,你需要使用math.tan(x)。但您需要指定x的值,这样代码就可以正常工作了。但实际上认为tan(x)-1/x=0只是说方程的答案是0。如果tan(x)-1转到另一侧,x将为零。我不认为你期望答案是0。所以使用“x=math.tan(x)-1”。希望这能奏效。

numpy
只对实际数字进行计算。为了使用
sympy
的符号变量,您需要使用
sympy
对三角函数等的定义;x=符号(“x”);sympy.solve(sympy.tan(x)-1/x,x)我试图去掉tan(x),用x-2替换方程,然后它给出一个根。所以问题是np,tan(x)jakub,谢谢,但它并没有运行,请重复并从后面开始。我们希望你在发布之前做一些基础研究。“用Python解方程”带来了许多有用的素材;看来你甚至没有做这么多。
x = 0.7853981633974483
x = 0.9050225767665427

...
x = 0.8603335890193796
x = 0.8603335890193798
x = 0.8603335890193797
Final error: 0.0

Process finished with exit code 0