在Julia中从矩阵中减去向量的最佳方法

时间:2017-06-06 14:45:21

标签: julia

在Julia中从大小为N的矩阵中减去长度为(N, K)的向量的最佳方法是什么?

当然,for循环或repmat应该有效,但它们似乎不是最有效的。

我能以某种方式使用broadcast吗?

1 个答案:

答案 0 :(得分:8)

julia> [1 2 3; 4 5 6; 7 8 9] .- [1; 2; 3]
3×3 Array{Int64,2}:
 0  1  2
 2  3  4
 4  5  6

(很明显,还会广播减去水平向量)

julia> [1 2 3; 4 5 6; 7 8 9] .- [1 2 3]
3×3 Array{Int64,2}:
 0  0  0
 3  3  3
 6  6  6

另请注意,顶部示例中的广播电话.-基本上等同于

julia> (-).([1 2 3; 4 5 6; 7 8 9], [1; 2; 3])
3×3 Array{Int64,2}:
 0  1  2
 2  3  4
 4  5  6

从julia 0.6开始,统一广播功能的f.(args)语法/幕后实现与广播运营商的实现。
(即.-不再是单独定义的运算符,恰好是-的“广播”版本。