當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Julia cumsum用法及代碼示例


用法一

cumsum(A; dims::Integer)

沿維度 dims 的累積和。另請參閱 cumsum! 以使用預分配的輸出數組,以提高性能和控製輸出的精度(例如,避免溢出)。

例子

julia> a = [1 2 3; 4 5 6]
2×3 Matrix{Int64}:
 1  2  3
 4  5  6

julia> cumsum(a, dims=1)
2×3 Matrix{Int64}:
 1  2  3
 5  7  9

julia> cumsum(a, dims=2)
2×3 Matrix{Int64}:
 1  3   6
 4  9  15

注意

返回數組的eltype 對於小於係統字長的有符號整數是Int,對於小於係統字長的無符號整數是UInt。為了保留eltype 的小有符號或無符號整數數組,應使用accumulate(+, A)

julia> cumsum(Int8[100, 28])
2-element Vector{Int64}:
 100
 128

julia> accumulate(+,Int8[100, 28])
2-element Vector{Int8}:
  100
 -128

在前一種情況下,整數被擴大到係統字大小,因此結果是 Int64[100, 128] 。在後一種情況下,不會發生這種擴大,並且整數溢出會導致 Int8[100, -128]

用法二

cumsum(itr)

累積和一個迭代器。另請參閱 cumsum! 以使用預分配的輸出數組,以提高性能和控製輸出的精度(例如,避免溢出)。

Julia 1.5

非數組迭代器上的cumsum 至少需要 Julia 1.5。

例子

julia> cumsum([1, 1, 1])
3-element Vector{Int64}:
 1
 2
 3

julia> cumsum([fill(1, 2) for i in 1:3])
3-element Vector{Vector{Int64}}:
 [1, 1]
 [2, 2]
 [3, 3]

julia> cumsum((1, 1, 1))
(1, 2, 3)

julia> cumsum(x^2 for x in 1:3)
3-element Vector{Int64}:
  1
  5
 14

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.cumsum — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。