gpt4 book ai didi

arrays - 如何索引 Julia 数组

转载 作者:行者123 更新时间:2023-12-04 19:52:20 25 4
gpt4 key购买 nike

我无法理解 Julia 中看似不一致的行为。

X = reshape(1:100, 10, 10)
b = [1 5 9]
X[2, :][b] # returns the correct array
X[2, :][1 5 9] # throws an error

谁能解释为什么使用变量 b可以索引一个数组,但当我自己编写索引时不行?

最佳答案

由于x = X[2,:]只是一个向量,我们可以将示例简化为仅讨论向量上的索引行为。
x[v]在哪里 v是整数的集合,返回 x 的子集.因此x[(1,5,9)] , 或 x[[1,5,9]]因此正在使用 getindex(x::Vector,i::AbstractArray) dispatch 。

请注意 x[[1 5 9]]之所以有效,是因为 v = [1 5 9]使v行向量。这是有效的语法,但是 x[1 5 9] just 甚至不是有效的 Julia 语法。该语法还有其他含义:

v = Float64[1 5 9]

返回元素类型为 Float64 的行向量.

关于arrays - 如何索引 Julia 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47129212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com