arrays - Julia中的数组乘法

标签 arrays types multiplication julia

我正在尝试做一些我认为应该在Julia中相对简单的事情,但是我似乎找不到关于此问题的任何提及。

基本上,我得到的是一个mxn矩阵和一个nx1向量。我想做的是将向量相对于矩阵逐个元素地相乘,但沿轴方向相乘,这样矩阵的每个元素都会相乘。

例如,在numpy中,这将是:

np.multiply(array, vector)

朱莉有办法做到这一点吗?

我试着只是将向量扩展为填充数组:
projection = 1:size(matrix)[1]
weight_change = hcat(map(x -> vector, projection))

但这会产生某种类型的Array{Array{Float64, 2}, 2},当我真正需要的只是Array{Float64, 2}时,这意味着逐个元素的乘法将无法真正起作用。

有什么办法可以解决我的方法或纠正我的错误解决方案?

最佳答案

您正在寻找.*元素明智的广播乘法运算符:

julia> A = [ i + j*im for i=1:3, j=1:4 ]
3x4 Array{Complex{Int64},2}:
 1+1im  1+2im  1+3im  1+4im
 2+1im  2+2im  2+3im  2+4im
 3+1im  3+2im  3+3im  3+4im

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

julia> w = [1:3]
3-element Array{Int64,1}:
 1
 2
 3

julia> A .* w
3x4 Array{Complex{Int64},2}:
 1+1im  1+2im  1+3im   1+4im
 4+2im  4+4im  4+6im   4+8im
 9+3im  9+6im  9+9im  9+12im

julia> A .* v'
3x4 Array{Complex{Int64},2}:
 1+1im  2+4im  3+9im   4+16im
 2+1im  4+4im  6+9im   8+16im
 3+1im  6+4im  9+9im  12+16im

关于arrays - Julia中的数组乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21718005/

相关文章:

Python - 对风险的边际贡献

c# - .NET 乘法优化

python - Sympy:指数乘法而不是总和的指数乘法

arrays - 在最佳情况下对 25 个元素的数组进行冒泡排序

python - Python 的 numpy 中的 "zip()"相当于什么?

python - 使用 Python 类型提示强制使用数字单位

haskell - 如何在 Haskell 中创建 "kind class",或使用类型族在类型级别创建临时多态性

Java Array 删除最后存储的元素

c# - 访问 C# float[] 作为 byte[]

ms-access - Access : Text , 备忘录或 VarChar ?使用哪一种?