Array to Cluster - 元素数量不符合预期

Array to Cluster - Number of elements not as expected

我正在玩弄 LabVIEW 的最基本功能,例如将单个元素来回转换为数组和簇。 (不要质疑所示算法的使用,有none。)

当将一个簇(当然是类似类型的)转换为一个数组时,使用它进行简单的数学运算,然后将其转换回一个簇,以下解绑将簇拆分成其各个元素的行为很奇怪。将 unbundle 连接到这个现有的集群,它会自动将其大小增加到 9,而不是预期的 3。探测和数字指示器显示前三个项目上方的元素为零。

这是为什么?我希望要聚类的数组知道转换后的数组的大小并相应地适合聚类。

虽然可以预期 Array To Cluster 会自动将数组的大小应用到群集,但它会使用固定的默认值而不考虑基础数组的大小:

The default is nine. The maximum cluster size for this function is 256.

来源:http://zone.ni.com/reference/en-XX/help/371361J-01/glang/array_to_cluster/

可以通过右键单击该函数并从快捷菜单中选择 簇大小 来更改此值。不幸的是,这也意味着每次更改数组时都要手动修复此问题。

解释:这种行为的原因是数组的大小可以在运行时动态变化,而簇的数据结构在编译时是固定的(LabVIEW 是强类型语言)。需要告诉编译器集群的大小。如果您真的需要在运行时创建任意集群,您可能可以使用变体做一些事情,但我会再看看您想要实现的目标,以检查它是否真的有必要。