我能够将一个常量乘以一个数组,但无法对除法运算符执行相同的操作。预期的?
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
...
Run Code Online (Sandbox Code Playgroud)
不确定这是否符合预期,但在矩阵代数中将向量乘以标量是很常见的。但是没有定义将数字除以向量,但是您想要的是通过广播语法实现的,只需在前面放一个点,/
这样它就变成了./
这意味着按元素应用除法。
2 ./ [1,2,3]