首页 > 解决方案 > 如何编写向量函数来应用操作 f(x,y)?

问题描述

scalar_function 只能处理标量输入,我们可以使用函数 np.vectorize() 将其转换为向量化函数。注意 np.vectorize() 的输入参数应该是一个标量函数,而 np.vectorize() 的输出是一个可以处理向量输入的新函数。

请编写一个向量函数vector_function,它将对具有相同维度x和y的输入向量逐元素应用上面定义的操作(,)。

所以对于标量,我得到:

def scalar_function(x, y):
    
    if x <= y:
        return x*y
    else:
        return x/y

对于向量函数,我有:

def vector_function(x, y):

    vfunc = np.vectorize(scalar_function, otypes = [float])
    return vfunc

从这里开始,我被困住了。

标签: pythonnumpyvectorvectorizationscalar

解决方案


尝试这个

vector_function = np.vectorize(scalar_function)

推荐阅读