如何概括“任何类型”的多维向量在朱莉娅?

发布于 2025-02-10 06:51:13 字数 461 浏览 3 评论 0原文

julia> A=[]
Any[]

julia> B=[]
Any[]

julia> C=[]
Any[]

julia> push!(A,0.0)

1-element Vector{Any}:

 0.0

julia> push!(B,0.0)

1-element Vector{Any}:

 0.0

julia> push!(C,0.0)

1-element Vector{Any}:

 0.0

julia> push!(C,5.0)

2-element Vector{Any}:

 0.0
 5.0

julia> A+B+C

ERROR: DimensionMismatch("dimensions must match: a has dims (Base.OneTo(1),), b has dims (Base.OneTo(2),), mismatch at 1")
julia> A=[]
Any[]

julia> B=[]
Any[]

julia> C=[]
Any[]

julia> push!(A,0.0)

1-element Vector{Any}:

 0.0

julia> push!(B,0.0)

1-element Vector{Any}:

 0.0

julia> push!(C,0.0)

1-element Vector{Any}:

 0.0

julia> push!(C,5.0)

2-element Vector{Any}:

 0.0
 5.0

julia> A+B+C

ERROR: DimensionMismatch("dimensions must match: a has dims (Base.OneTo(1),), b has dims (Base.OneTo(2),), mismatch at 1")

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

澜川若宁 2025-02-17 06:51:13

如@oscardowson所指出的那样,您需要的只是sum(a) + sum(a) + sum(b) + sum(c)sum会将多维数组减少到单个总和值,因此总结结果时没有尺寸不匹配。

如果您有很多这样的数组,请说:

julia> A = [0.0]
1-element Vector{Float64}:
 0.0

julia> B = [1.0, 2.0]
2-element Vector{Float64}:
 1.0
 2.0

julia> C = [2.0 0.0]
1×2 Matrix{Float64}:
 2.0  0.0

julia> D = [0.0 ;;; 0.0] # 3-dimensional array
1×1×2 Array{Float64, 3}:
[:, :, 1] =
 0.0

[:, :, 2] =
 0.0

您也可以这样做:

julia> sum(sum(array) for array in (A, B, C, D))
5.0

All you need is sum(A) + sum(B) + sum(C), as @OscarDowson points out. sum will reduce a multidimensional array to a single sum value, so there's no dimension mismatch when you sum the result of that.

If you have many such arrays, say:

julia> A = [0.0]
1-element Vector{Float64}:
 0.0

julia> B = [1.0, 2.0]
2-element Vector{Float64}:
 1.0
 2.0

julia> C = [2.0 0.0]
1×2 Matrix{Float64}:
 2.0  0.0

julia> D = [0.0 ;;; 0.0] # 3-dimensional array
1×1×2 Array{Float64, 3}:
[:, :, 1] =
 0.0

[:, :, 2] =
 0.0

you can also do:

julia> sum(sum(array) for array in (A, B, C, D))
5.0
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文