我有下面的非线性方程组,我想找到它的根:
- x - exp(a x + B y)= 0
- y - exp(c x + d y)= 0我用来求根的代码是:
equations = lambda x, kernel: np.array([x[0] - np.exp(kernel[0] * x[0] + kernel[2] * x[1]), x[1] - np.exp(kernel[1] * x[1] + kernel[3] * x[0])])
kernels = np.array([kernel0, kernel1, kernel2, kernel3])
x_init = np.array([x_init0, x_init1])
x_sol = fsolve(two_equations, x_init, args=(kernels))
从方程中我知道,在某些情况下,这个系统对每个变量有两个答案:(x_溶液1,x_溶液2)和(y_溶液1,y_溶液2)。
有没有一种简洁的方法可以将多个初始猜测值传递给fsolve函数,以获得每个变量的两个根?(而不是使用for循环)我只知道如何对一个方程的系统进行此操作,但我无法将该方法用于此情况。
1条答案
按热度按时间gmol16391#
通过消去
y
,可以将系统简化为一个单变量方程。以致