Julia的阵列广播分部运营商

时间:2017-11-19 00:37:36

标签: julia

我能够将一个常量复用到一个数组中,但是对于除法运算符却无法做到这一点。预期?

julia> 2 * [1,2,3]
3-element Array{Int64,1}:
 2
 4
 6

julia> 2 / [1,2,3]
ERROR: MethodError: no method matching /(::Int64, ::Array{Int64,1})
Closest candidates are:
  /(::Union{Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8}, ::Union{Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8}) at int.jl:38
  /(::Union{Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8}, ::BigInt) at gmp.jl:381
  /(::T<:Integer, ::T<:Integer) where T<:Integer at int.jl:36
  ...

1 个答案:

答案 0 :(得分:3)

不确定它是否是预期的,但在矩阵代数中将向量乘以标量是很常见的。但是没有定义一个数字除以矢量,但是你想要的是用广播语法实现的,只需在/前面放一个点,使它变成./,这意味着应用分割元素。

2 ./ [1,2,3]