Python: вызов функций внутри функций.
Regula - это функция, которая находит минимальное значение за заданный интервал (Находит корень функции).
def Regula(f,Tol,Nmax,a,b):
N = 1
while N < Nmax:
c = (b*f(a)-a*f(b)) / (f(a)-f(b))
if f(c) == 0 or abs(a-b) < Tol:
break
if (np.sign(f(c)) == np.sign(f(a))):
a = c
else:
b =c
N += 1
return c
Это две функции, которые я использую. М2 звонит G2.
def G2(T):
return (48*np.pi**2)/(11*N*(np.log(lam*T+Ts))**2)
def M2(T,func):
return ((N/6)*(func(T))*(T**2))**0.5
М2 работает. Я обещаю.
Моя проблема в том, что я не знаю, как обобщить Regula для вызова M2, который вызывает G2.
Помогите, пожалуйста!
Min_Mass = Regula (M2(T,G2), Tol, 50, a, b)
a = 1
b = 4
T = np.linspace(a,b,100)
Tol=1e-13
1 ответ
Почему бы вам просто не использовать:
...
def M2(T,value):
return ((N/6)*( value )*(T**2))**0.5
Min_Mass = Regula (M2(T,G2(T)), Tol, 50, a, b)
...