我正在使用LabVIEW的最基本功能,例如将单个元素转换为数组和集群,来回。 (不要质疑所示算法的使用,没有。)
当将一个簇(当然类似的类型)转换为一个数组时,使用它进行简单的数学运算,然后将其转换回一个簇,下面的unbundle将簇拆分成各个元素的行为很奇怪。将unbundle连接到现有群集时,它会自动将其大小增加到9而不是预期的3.探针和数字指示器显示三个第一项上方的元素为零。
这是为什么?我希望数组到集群知道转换后的数组的大小,并相应地适应集群。
答案 0 :(得分:4)
虽然可以预期Array To Cluster会自动将数组的大小应用于集群,但它会使用固定的默认值,而不管底层数组的大小如何:
默认值为九。此函数的最大簇大小为256。
来源:http://zone.ni.com/reference/en-XX/help/371361J-01/glang/array_to_cluster/
可以通过右键单击该功能并从快捷菜单中选择群集大小来更改此值。不幸的是,这也意味着每次更改数组时都要手动修复它。
说明:这种行为的原因是,虽然数组的大小可以在运行时动态变化,但是群集的数据结构在编译时是固定的(LabVIEW是一种强类型语言)。需要告诉编译器群集的大小。如果你真的需要在运行时创建任意集群,你可以用变体做一些事情,但我会再看一下你想要实现的目标来检查它是否真的有必要。