问题遇到的现象和发生背景
我用python中的scipy模块时, 想要解这个方程,其中Vl 是未知量,其他均已知,但是解不出来,提示下图,请问有人可以帮忙解答一下原因吗?
(代码中的方程是经过我简化的,x是要求的未知量)
问题相关代码
from numpy import sin, cos, tan, array
from scipy.optimize import root, fsolve
def f(i, params):
x = i[0]
a_1, V_s1, a_2, V_s2 = params
return array(tan((a_1 / x) * (x ** 2 - V_s1 ** 2) ** 0.5) - a_2 * ((V_s2 ** 2 - x ** 2) / (x ** 2 - V_s1 ** 2)) ** 0.5)
E_1 = 1.2503 * 10 ** 10
v_1 = 0.09
E_2 = 5.3105 * 10 ** 10
v_2 = 0.12
u_1 = ((4 * v_1 - 1) / (10 * v_1 - 2) * E_1)
V_s1 = 1150
D = 8
u_2 = ((4 * v_2 - 1) / (10 * v_2 - 2) * E_2)
V_s2 = 1720
w = 10
a_1 = D * w / V_s1
a_2 = (u_2 * V_s1) / (u_1 * V_s2)
# 传参
params = [a_1, V_s1, a_2, V_s2]
init_guess = array([0])
result_1 = fsolve(f, init_guess, args = params)
result_2 = root(f, init_guess, args = params)