numpy.vectorize(lambda x:1 - x^3)有什么作用?

kb5ga3dv  于 2023-02-08  发布在  其他
关注(0)|答案(1)|浏览(120)

我是python的新手,也是numpy包的新手,我想知道这行代码到底是做什么的。
a = numpy.vectorize(lambda x:1 - x^3)
我已经搜索了矢量化函数,但没有真正得到它做什么。
我很熟悉julia,如果julia中有任何一个例子是这样做的,我可以更快更好地理解它。

ao218c7q

ao218c7q1#

Python中的关键字lambda用于声明匿名函数。
a = lambda x: 1 - x**3
在数学上等价于:
a(x) = 1 - x^3
NumPy上的vectorize函数用于在数组中按元素应用函数。因此,假设您有一个包含元素[1,2,3]的数组x,则ax上的结果为:

[1-1^3,1-2^3,1-3^3]

我不是朱莉娅的Maven,但我相信其等价物是这样的:

a = function(x)
        1 - x^3
    end

然后,如果你想用Python在vectorize函数后面使用的方法,你可以在函数名后面加上一个.“”:

a.([1,2,3])

相关问题