索引数组
- 更新时间2025-07-30
- 阅读时长4分钟
返回n维数组在索引位置的元素或子数组。
连线数组到该函数时,函数可自动调整大小,在n维数组中显示各个维度的索引输入。也可通过调整节点大小,添加元素或子数组。连线板显示该多态函数的默认数据类型。

输入/输出
数组
—
n维数组可以是任意类型的n维数组。 如n维数组为空数组,元素或子数组可返回数组的已定义数据类型的默认值。
索引
—
索引0..n-1以数字表示输入数组中的某位置。LabVIEW自动为数组的每个维度提供索引输入。
元素
—
元素或子数组的类型与n维数组一致。 |
不连线相应的索引,可禁用维度。一维数组不可禁用任何维度。默认状态下,第一个维度的索引处于启用状态,其他的索引处于禁用状态。如处于禁用状态,输入接线端外围为空心黑框。如启用,则为实心黑框。可连线常量或输入控件至要启用的索引输入。
例如,如需在二维数组中索引一行数据,第一个索引输入为启用状态,第二个索引输入为禁用状态。如需按列索引同一个二维数组,可调整函数的大小,显示另一组输入接线端。设置输入对应的子数组输出端。默认情况下,如未连线任何索引输入端,第一个子数组可对第0行建立索引,第二个子数组可对第1行建立索引,依此类推。
FPGA模块详细信息
下列信息适用于在FPGA VI中使用上述对象。
| 单周期定时循环 | 支持。 |
| Usage | N/A |
| 定时 | 函数在一个时钟周期内执行。但当直接连接常量至函数的索引输入端时,函数将在编译时选择索引。此时函数不需要用于执行的时钟周期。 |
| 资源 | 索引不是常量的情况下,函数消耗的FPGA资源与数组和元素的大小成比例。索引为常量的情况下,函数不占用FPGA资源。 |
| 注 | 对于大型数组,“索引数组”函数可能无法在一个时钟周期内完成,从而导致编译时间错误。 |
超出范围的值的动作
如索引小于0或超出数组的维度,该函数返回数组已定义数据类型的默认值。
索引对应的维度是什么?
LabVIEW中的数组函数按照行序访问数组。对于二维数组,行序作为主索引。列序作为次索引。在更大的多维数组中,列索引是最后处理的索引,其他索引均在列索引之前。第一个数字是数组索引中第一个维度数组的大小。这些名称只是索引标识符,没有其他含义。
未连线的索引输入
未连线的索引允许用户获取数组的子数组,而不是单个元素。例如,如要获取2维数组的第1列,可在列索引中指定1并保持行索引未连线。
如一维数组的索引输入未连线,索引数组函数元素的第一个元素。
索引与多个输出的关系是什么?
如扩展节点显示多于一个元素或子数组输出,LabVIEW为每个输出提供一组索引输入。连线至索引输入的值的集合决定相应输出的值。如不连线值至索引输入集,相应元素或子数组输出返回上一个原数组的元素或子数组输出之后的元素或子数组。详细信息见范例部分。
不同输入配置的范例
下列图表说明了函数在不同输入值时的动作:
| 输出 | 值 | 注释 |
|---|---|---|
| 元素,全部索引已连线 | 1 | --- |
| 子数组,行已连线 | [1, 1, 1] | 无列数时,索引数组返回行输入端指定的整个行。 |
| 子数组,索引未连线 | [2, 2, 2] | 此输出对其相应的行和列输入无指定值。因此,函数返回紧跟上一个输出的子数组。 |
| 子数组,列已连线 | [0, 1, 2] | 无行数时,索引数组返回列输入端指定的整个列。 |
数组
—
索引
—
元素
—