如何在Julia中应用函数elementwise?

如何在Julia中应用函数elementwise?,julia,Julia,有一个函数h(x)=([1,x]'*[2,3])[1] 假设我想要绘制它,得到X和Y。一种可能的方法是如下 X = [1 2 3] Y = [h(xi) for xi in X] 但是,在Julia中使用elementwise操作符似乎也可以做到同样的事情 不幸的是,在函数前面加上点.h(X)无效。更新:f.(X)语法已合并,可在julia v0.5中使用,请参阅或 在julia的Base中,可以使数组为函数所接受。使用此宏包装您的h,可能会解决此问题 这里有一个来自中国的例子 julia>s

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

假设我想要绘制它,得到
X
Y
。一种可能的方法是如下

X = [1 2 3]
Y = [h(xi) for xi in X]
但是,在Julia中使用elementwise操作符似乎也可以做到同样的事情


不幸的是,在函数前面加上点
.h(X)
无效。

更新:
f.(X)
语法已合并,可在julia v0.5中使用,请参阅或

在julia的Base中,可以使数组为函数所接受。使用此宏包装您的
h
,可能会解决此问题

这里有一个来自中国的例子

julia>square(x)=x^2
平方(带1方法的通用函数)
朱莉娅>@vectorize_1arg数字平方
square(具有4种方法的通用函数)
julia>方法(方形)
#通用函数“square”的4种方法:

正方形{TIs
map(h,X)
你在这里寻找什么?这是一个一般性的问题,还是你想为你的例子提供一个元素式的解决方案?我相信你的例子可以矢量化..但对于一般方法,
map
是@niczky12建议的解决方案。是的,我问过一般方法。为Julia 1.X获得最新答案会很有用。
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