简体   繁体   English

Python:在函数内部调用函数。

[英]Python: Calling functions inside functions.

Regula is a function that finds the minimum value on a set interval (Finds the root of a function). 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

These are the two functions I am using. 这是我正在使用的两个功能。 M2 calls G2. M2呼叫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

M2 works. M2有效。 I promise. 我承诺。

My problem is that I do not know how to generalise Regula to call M2, which calls G2. 我的问题是我不知道如何概括Regula来调用M2,后者调用G2。

Help please! 请帮助!

Min_Mass = Regula (M2(T,G2), Tol, 50, a, b)

a = 1
b = 4
T = np.linspace(a,b,100)
Tol=1e-13

Why don't you simply use: 为什么不简单地使用:

...

def M2(T,value):
    return ((N/6)*( value )*(T**2))**0.5

Min_Mass = Regula (M2(T,G2(T)), Tol, 50, a, b)

...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM