数值求解 scipy

Numeric solve with scipy

我有一些使用 Python 编程的经验,但在科学应用方面没有。我知道 scipy 提供了一个函数 fsolve (func, initial_guess) 用于数值求解方程。但是,我不知道如何用我的方程式来实现它。使用 TI CAS 软件,它看起来像那样,而当然“0.196”是一个变化的值:

scipy documentation 看来相当简单,只需先将等式重新排列为预期格式 func(x) = 0

1/3.0*np.tan(100/73.85*t)+1/3.0*pow(t,2)-1/10.0*t - 0.196
from scipy.optimize import fsolve
import numpy as np

def func(t,k):
    return 1/3.0*np.tan(100/73.85*t)+1/3.0*pow(t,2)-1/10.0*t - k

k = 0.196
root = fsolve(func, 1, args=(k))
print(root)

# [0.37653542]