问题标签 [array-indexing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
94 浏览

numpy - 使用查找表进行快速图像处理

我有来自视频的图像和带有索引的查找表。目标是通过使用查找表中的索引从每一帧生成一个新图像。我的代码使用我的笔记本电脑工作,但有点慢。我的目标是让它在 TX2 中工作。下面是我的代码,不知道为什么它很慢。

我该怎么做才能让它更快?我应该研究并行处理吗?欢迎任何帮助。谢谢

0 投票
1 回答
153 浏览

c - 索引比指针更容易矢量化吗?

是否有任何示例(例如在https://godbolt.org/上)当使用指针迭代而不是数组索引表示的算法时,CLang 会生成更糟糕的代码?例如,它可以在一种情况下矢量化/展开,但在另一种情况下不能?

在简单的例子中显然没关系。这是一个指针迭代样式:

这是索引样式的逻辑相同的代码:

在这里忽略任何 UB 和/或关闭一个错误。

编辑:关于索引是糖的论点是无关紧要的,因为去糖不会改变算法风格。所以以下基于指针的代码仍然是索引样式:

请注意,基于索引的循环只有 1 个变化变量,而基于指针的循环有 2 个,编译器必须推断它们总是一起变化。

您应该在https://en.wikipedia.org/wiki/Induction_variablehttps://en.wikipedia.org/wiki/Strength_reduction的上下文中查看此内容。指针样式本质上是强度降低的索引样式,因为添加被增量替换。这种减少在一段时间内对性能有益,但不再有效。

所以我的问题归结为是否存在编译器无法执行或逆转这种强度降低的情况。

另一种可能的情况是索引不是归纳变量。因此,相应的指针代码包括“任意跳转”,并且由于过去迭代的“历史”,它在某种程度上更难以转换循环。

0 投票
2 回答
90 浏览

python - Python `arr[0]:[0]` 解释

此代码片段是fukuzawa_yumi在LeetCode 问题中的帖子之一

,对我nums[0]:[0]来说d: d[nums[i]]=[i]不熟悉,我在网上找不到解释。

请在正确的方向上参考我,并为后代举几个例子。

0 投票
1 回答
118 浏览

cluster-analysis - K-means 聚类错误:只有 0 可能与负下标混合

我正在尝试对 R 中的 IRIS 数据进行 kmeans 聚类。我想使用 KKZ 选项进行种子选择(聚类的起点)。

如果我不标准化数据,我对 KKZ 命令没有任何问题:

但是,当我首先缩放数据时,kkz 命令给了我错误:

我认为这是一个数组索引的事情,但不确定它是什么以及如何解决它。

0 投票
1 回答
24 浏览

r - R - 强制一组索引行始终是矩阵(或数组)

我有一个需要按条件过滤的矩阵。

当“which(g[,j] == 1)”是 1(或无)分量向量时会出现问题。输出,即前面提到的“yj”,突然变成了一个向量。我需要能够按列引用它。即使它是单行,它仍然需要按列引用。

我该如何做到这一点?

0 投票
1 回答
34 浏览

c# - 如何修改数组中正在访问的索引

编辑:在我的情况下,检查 bool 值更容易,如果它是真的,只需从数组中删除前 0x200(十进制 512)字节,这样以后对数组的任何访问都不需要担心它,基本上意味着如果布尔“Skiphex200bytes”为真,我会从数组的开头删除 0x200 字节,而不必修改正在动态访问的索引。我会保留这个问题和我宣布正确的答案,因为如果有人决定做类似的事情,它仍然是有用的信息。


假设我有 2 个数组:一个是

另一个是

如果我想这样做怎么办:当我尝试在 中获取/设置一个值时ROM(并且如果某个布尔值为真),它会将0x200(十进制 512)添加到正在请求的索引中,也就是一种

在 getter/setter 中。

但我不知道如何在 getter/setter 中访问所述索引,所以在返回之前我无法修改它......

0 投票
1 回答
28 浏览

python - Numpy ndArray:访问每个类的输入特征

对于我当前的分类任务,我对访问单个类的输入特征很感兴趣,这样每个类都只在其输入特征上进行训练(弱分类器),然后对它们进行集成。

我在访问这些功能时遇到了挑战。承认,我总是对多维数组感到困惑。我将举例说明我如何尝试在以下 MWE 中访问类功能。

错误:

显然,我做错了数组索引。注意 的形状trainX/testX

0 投票
1 回答
101 浏览

python - 在 numpy dnarray 中处理 NaN / Inf

处理 4D numpy 数组(数组数组)。每个嵌套数组的形状(1, 100, 4)

但随后在嵌套数组中,找到了一些nan我想要处理的值。例如,第一个嵌套数组trainset包含这样的:

如何检查所有数组trainsetnan值以及在哪里找到,用列的中值替换它?

编辑

使用:

给出指示的错误,如上。

0 投票
0 回答
40 浏览

android - 为什么 Android Studio 中的 Kotlin 在尝试访问不存在的数组元素时会冻结?

我在 Android Studio 中遇到过 Kotlin 的有趣行为。当我尝试动态记录提供的索引为 -1 且数组为空的数组元素时,程序会在模拟器中冻结但从不抛出错误。

示例代码:

是什么导致 Kotlin 代码执行中出现这种看似无限循环或暂停的情况?

0 投票
1 回答
171 浏览

arrays - 在 VHDL 中初始化数组:它究竟是如何工作的?

考虑以下 VHDL 代码:

在这里,索引 7 和 6 很重要:它们指示哪些元素应该为 1,编译器可以从中推导出哪些元素应该为 0。

问题 1

如果我理解正确,这也可以写成

现在我想知道这到底是如何工作的,以及索引是否仍然重要或只是它们之间的差异。按照我的理解,表达式(x downto y => z)创建了一个带有 indices 的数组x downto y,其元素都等于z(并且具有相同的类型)。但是当数组连接时,这些索引重要吗?即,我是否还可以编写以下任何内容:

当然,人们可以说那些陈述,尤其是。最后一个,不是很清楚,但我的问题是:他们会有相同的结果吗?或者它们会导致某种错误或错误?

我想知道这个的原因是你也可以写

并且文字"11"没有指定任何范围,所以我不确定这个文字的确切类型是什么,但肯定不是std_logic_vector(7 downto 6).

问题2

最后,我想知道两者之间有什么区别

我的意思是:你有什么理由想要/需要写前者(这似乎更容易出错,因为如果你交换两个聚合,它会产生意想不到的结果)而不是后者?还是只是口味问题?