让 A 是一个任意维度的数组(在我的例子中是 2 或 3)。如何在不事先知道维数的情况下展平(重塑为 1D)这个数组?
如果我知道维数,我可以很容易地获得元素的总数(通过使用“数组大小”函数的组合),然后使用这个数字将 A 重塑为 1D。不幸的是,“数组大小”函数本身返回了一个数组,其元素数等于维数,这让我们回到了最初的问题。
我通过创建一个函数 (VI) “解决”了这个问题,该函数返回 3D 数组(我期望处理的最常见的数组类型)的元素总数,因此我可以将其作为参数提供给重塑功能。问题:它不会接受二维数组,即使算法可以使用这样的数组!(似乎在 Labview 中,数组控件对它们接受的维数非常严格,例如在 Matlab 中并非如此)。
一个不错的解决方案是将“数组大小”给定的数组的所有元素相乘以快速获得元素总数,而无需将其包装在子 VI 中。总的来说,没有简单有效的方法来解决这个问题吗?应该挺标准的。。