gpt4 book ai didi

arrays - julia 选择数组/矩阵中除一个元素外的所有元素

转载 作者:行者123 更新时间:2023-12-04 00:58:09 25 4
gpt4 key购买 nike

我想知道是否可以在 julia 数组中选择除一个元素之外的所有元素(按索引)。

例如,在 R 语言中,为了不选择矩阵中的特定行,可以这样写:

a = matrix(1:9, 3, 3)
a
1 4 7
2 5 8
3 6 9

进而:
a[-2, ]
1 4 7
3 6 9

现在我想在 julia 中做同样的事情。我尝试使用逻辑运算符,但找不到(取消)选择特定索引的方法。这是我尝试过的:
a = rand(3,3)
a[.!= 2, :]
ERROR: syntax "!=" is not a unary operator

或如在 R 中:
a[-2, :]

以及其他一些选项。在 julia 中的工作如下:
a[a .>= .5, :] 

或者
a[[2,3], :]

选择第二行和第三行。无论如何,我真的很想知道如何在 julia 数组中选择除一个特定元素(例如行)之外的所有元素。

最佳答案

这是一种选择:

A = rand(3,3)
B = A[1:end .!= 2,:]
1:end获取行索引的完整列表(您也可以使用 1:size(A,1) ),然后是 .!= (注意 . 表示逐元素比较)选择不等于 2 的索引。

如果您想以这种方式选择列,您可以使用:
C = A[:, 1:end .!= 2]

请注意 end关键字将自动等于您引用的行、列或其他维度的最后一个索引值。

注:答案更新以反射(reflect)@Matt B 在评论中建议的改进(使用 end 而不是 size() )。

关于arrays - julia 选择数组/矩阵中除一个元素外的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37661221/

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