Python - 定义一个具有更改参数的函数并将该函数插入到另一个函数中

问题描述 投票:0回答:1

假设我有两个函数,其中一个函数依赖于另一个函数。我现在需要将第一个函数放入第二个函数中,然后集成。

我已经尝试如下,但它不起作用,给出错误:*:'float'和'function'不支持的操作数类型

import scipy as sp
from scipy import integrate

def q_vals():
    return lambda x: x / (0.3 * 0.7 * np.exp(- 0.224))
                                                    
def transfer_fn_sq(q = q_vals()):
    return lambda x: (np.log(1 + 2.34 * q) * (1 + 3.89 * q)

y = scipy.integrate.quad.(transfer_fn_sq, 1, np.inf)

我需要这样做,因为我有多个具有较长表达式的函数,这些函数依赖于前一个函数,所以我不能简单地将整个表达式输入到积分函数中。

谢谢

python function
1个回答
0
投票

你为什么使用所有这些 lambda?

    def q_vals(x):
        return x / (0.3 * 0.7 * np.exp(- 0.224))

    def transfer_fn_sq(x):
        q = q_vals(x)
        return np.log(1 + 2.34 * q) * (1 + 3.89 * q)

    return sp.integrate.quad(transfer_fn_sq, 1, np.inf)
© www.soinside.com 2019 - 2024. All rights reserved.