【问题标题】:How to get product of all elements in a row of matrix in Julia如何在Julia中获取一行矩阵中所有元素的乘积
【发布时间】:2021-05-26 03:55:18
【问题描述】:

我正在使用 Julia 并尝试获取向量 p。 p的元素是矩阵P的同一行中所有元素的乘积。我可以通过在每一行上使用for循环来做到这一点,但是有没有更有效的方法呢?

谢谢:)

【问题讨论】:

  • 您能否添加一个可复制粘贴的最小代码示例来说明您想要实现的目标?
  • 有几种方法可以做到这一点,但循环至少与其他方法一样有效。在大多数情况下,循环在 Julia 中提供了最佳性能。
  • 感谢 cmets。下面的答案很好地解决了我的问题。

标签: matrix julia


【解决方案1】:

听起来你应该可以做到

julia> P = reshape(1:9, 3, 3)
3×3 reshape(::UnitRange{Int64}, 3, 3) with eltype Int64:
 1  4  7
 2  5  8
 3  6  9

julia> prod.(eachrow(P))
3-element Vector{Int64}:
  28
  80
 162

【讨论】:

  • vec(prod(P, dims=2))
  • 太棒了!谢谢你们!
  • map(prod,eachrow(m))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-19
相关资源
最近更新 更多