Python 如何获得函数的转换作为返回?

Python 如何获得函数的转换作为返回?,python,function,Python,Function,我的目标是实现以下系统(摘自信号处理原理图): 现在,X[n]可以是任何信号,任何函数,为了简单起见,为了测试程序,我们可以把它看作指数函数。当信号沿着子系统传输时,它会经历一些转换,对于S1,转换是: S2之后是: 到目前为止,我已经做到了: import numpy as np import timeit n=np.arange(-20,20) y=np.zeros(n.shape) x=np.exp(n) def S1(inputSign, x_values, finalSys=

我的目标是实现以下系统(摘自信号处理原理图):

现在,X[n]可以是任何信号,任何函数,为了简单起见,为了测试程序,我们可以把它看作指数函数。当信号沿着子系统传输时,它会经历一些转换,对于S1,转换是:

S2之后是:

到目前为止,我已经做到了:

import numpy as np
import timeit

n=np.arange(-20,20)
y=np.zeros(n.shape)
x=np.exp(n)

def S1(inputSign, x_values, finalSys=True):
    if finalSys==True:
        output=np.zeros(x_values.shape)
        for i in range(len(x_values)):
            if x_values[i]%2==0:
                output[i]=inputSign(x_values[i]/2)
            else:
                output[i] = 0
        return output
    else:
        return inputSign



def S2(inputSign, x_values, finalSys=True):
    if finalSys==True:
        output=np.zeros(x_values.shape)
        for i in range(len(x_values)):
            output[i]=inputSign(x_values)+0.5*inputSign(x_values)+0.25*inputSign(x_values)
        return output
    else:
        return inputSign+0.5*?????

现在函数是用一个条件finalSys定义的,假设它是最后一个系统,它会给我一个值数组。目标是“级联”(S2(S1,n,finalSys=真),可能不是正确的术语)函数,以获得仅依赖于初始输入信号但通过子系统沿途转换的最终答案。我可以手动操作,并得到一个表达式的结果系统,但我这样做是作为一个学习练习,所以请容忍我。我的问题是如何改变输入符号的参数。例如,S1(np.exp,n,finalSys=False)(2)应返回与np.exp(1)相同的值。

您能清楚地解释一下,您在这里想做什么吗?我将对其进行编辑clarity@Bidon,当函数被“稍后调用”时,它将被传递一个类似于
x_值的值数组。
?@Arihant,我已经编辑了它。我现在的目标应该更清楚了。@fountainhead,请看编辑。更清楚的是目标是什么。非常感谢。