在LabVIEW中向数组列添加常量的最有效方法是什么?

时间:2018-02-05 11:01:05

标签: arrays labview

我想在数组的第二列添加一个常量。

我这样做如下所示:

enter image description here

图示的位置如下:

enter image description here

向数组列添加常量的最有效方法是什么?

2 个答案:

答案 0 :(得分:3)

Index Array to get the second column, add your constant, and then Replace Array Subset to replace the second column. enter image description here

答案 1 :(得分:3)

关于效率的问题,你应该提供数字。对于低于1000 x 1000 2D阵列的任何东西,我无法测量差异。通常最好只是测试它。

这里是测试代码(与crossrulz相同的答案)

enter image description here

使用10000 x 10000阵列选项2变得快10倍。

除非您处于非常苛刻的要求,否则可读性通常优于效率。在我看来,选项2更具可读性,因为它没有for循环,常量表示为常量而不是数组。

但是使用In Place Element结构可以提高效率。下图显示了向列添加5的两种不同方法。第二个避免制作整个阵列的内存副本。使用索引数组索引数组的列然后修改它需要更改底层内存格式,即使该数组将被放回到替换数组子集中。 In Place Element结构为LabVIEW提供了足够的上下文,使其能够识别Add可以在没有数据副本的情况下完成 Add 5 to a column of an array, in 2 different ways