如何编写向量函数来应用操作 f(x,y)?

Posted

技术标签:

【中文标题】如何编写向量函数来应用操作 f(x,y)?【英文标题】:How to write a vector function to apply operation f(x,y)? 【发布时间】:2020-06-01 20:34:32 【问题描述】:

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

从这里开始我被困住了。

【问题讨论】:

您的问题到底是什么?你试图解决什么? f(x, y)的功能是什么? 要格式化代码,选择它并输入ctrl-k.. Formatting help ... more Formatting ... Formatting sandbox 欢迎来到 SO。这不是讨论论坛或教程。请使用tour 并花时间阅读How to Ask 以及该页面上的其他链接。“Can someone help me?” not an actual question?。 【参考方案1】:

试试这个

vector_function = np.vectorize(scalar_function)

【讨论】:

以上是关于如何编写向量函数来应用操作 f(x,y)?的主要内容,如果未能解决你的问题,请参考以下文章

用matlab来编写一个函数计算:f(x)在x《=1时,f(x)=x,当x>1&x<10时f(x)=2*x-1,当x>=10时,f(x)=3*x;

如何理解glm中四元数与向量相乘函数的写法

U,V坐标如何工作?

延迟Y-Combinator中的抽象评估

matlab如何画三维向量场

如何编写一个函数将字符向量转换为其元素唯一对的字符向量?