我正在用Python编写一些代码来说明隐函数定理。我有一个方程式(请参见代码),我想将z编写为x和y的隐式函数。
因此,我的代码首先定义了一个具有三个输入变量的函数。然后,我只想使用“隐式”对x和y处的函数进行评估。随后,我想求解z并返回根。
我遇到以下错误:TypeError:function()缺少1个必需的位置参数:'z'
我看不到我在做什么错。请帮忙!
import scipy
import numpy as np
from scipy import optimize
from scipy.optimize import fsolve
# Equation is x + 2y + z + e^{2z} = 1
# To find roots, we set F(x,y,z) = x + 2y + z + e^{2z} - 1 = 0
def function(x,y,z): #this is my function
f = x + 2*y + z + np.exp(2*z) - 1
return f
# with this step, I want to evaluate 'function' at the given x and y of 'implicit'
# then I wish to use fsolve to find the roots of z
# I want the roots of z (zz) returned.
def implicit(x,y):
x0 = np.array([0,0,0]) #initial guess
zz = fsolve(function, x0, x,y,z)
return zz