gpt4 book ai didi

julia - 如何在 Julia 中按元素应用函数?

转载 作者:行者123 更新时间:2023-12-02 00:45:41 24 4
gpt4 key购买 nike

有一个函数h(x) = ([1, x]' * [2, 3])[1]

假设我想绘制它并获得 XY。一种可能的方法是执行以下操作

X = [1 2 3]
Y = [h(xi) for xi in X]

但是,似乎也可以在 Julia 中使用元素运算符来执行相同的操作?

不幸的是,在函数前面加上点 .h(X) 不起作用。

最佳答案

更新:f.(x) 语法已合并并在 julia v0.5 中可用,请参阅 the documentWIP .

@vectorize_1arg在 julia's Base 中,可以使您的函数可以接受数组。用这个宏包裹你的 h 可能会解决问题。

这是来自 julia document 的示例

julia> square(x) = x^2
square (generic function with 1 method)

julia> @vectorize_1arg Number square
square (generic function with 4 methods)

julia> methods(square)
# 4 methods for generic function "square":
square{T<:Number}(::AbstractArray{T<:Number,1}) at operators.jl:380
square{T<:Number}(::AbstractArray{T<:Number,2}) at operators.jl:381
square{T<:Number}(::AbstractArray{T<:Number,N}) at operators.jl:383
square(x) at none:1

julia> square([1 2 4; 5 6 7])
2x3 Array{Int64,2}:
1 4 16
25 36 49

如果您正在寻找更“优雅”的方法,here is a discussion关于为这个问题添加新的语法。

关于julia - 如何在 Julia 中按元素应用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36349007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com