如何编写向量函数来应用操作 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;