LabVIEW论坛
直播中

随意的

3年用户 87经验值
擅长:测量仪表
私信 关注
[问答]

一维簇数组的转换到二维数组后的行列增减问题

请大佬指点,如VI,两个求助点:
1、一维数组大小,在停止Vi前把数组大小增加到4,在循环外设置了一维数组的行数为0了,为啥再次运行VI后,数组大小还是4。

2、怎么把一维数组的样式,增加到二维数组上面。如分区1 2 3 4

image.png

回帖(1)

河神大人

2024-5-11 17:35:57
首先,我们来解决第一个问题:

1. 一维数组大小,在停止Vi前把数组大小增加到4,在循环外设置了一维数组的行数为0了,为啥再次运行VI后,数组大小还是4。

这个问题的原因是LabVIEW中的簇数组(Cluster Array)在运行时会保持其大小,即使在VI停止后。当你在循环外设置一维数组的行数为0时,这个设置只在当前的VI运行过程中有效。当你再次运行VI时,数组的大小会恢复到上一次运行结束时的状态,即大小为4。

要解决这个问题,你可以在VI开始时使用一个条件结构来判断数组的大小。如果数组的大小大于0,你可以使用一个循环来清空数组,使其大小变为0。这样,每次运行VI时,数组的大小都会从0开始。

2. 怎么把一维数组的样式,增加到二维数组上面。如分区1 2 3 4。

要将一维数组转换为二维数组,你可以使用以下步骤:

步骤1:确定一维数组的大小。假设一维数组的大小为N。

步骤2:确定二维数组的行数和列数。假设你想要将一维数组转换为一个M行N/M列的二维数组。

步骤3:创建一个二维数组,其大小为M行N/M列。

步骤4:使用一个双重循环来填充二维数组。外循环负责遍历行,内循环负责遍历列。在每次迭代中,将一维数组中的元素复制到二维数组的相应位置。

以下是一个简单的LabVIEW代码示例,展示了如何将一维数组转换为二维数组:

```
1. 创建一个一维数组,大小为N(例如,N = 8)。
2. 创建一个二维数组,大小为M行N/M列(例如,M = 2,N/M = 4)。
3. 使用一个双重循环来填充二维数组。外循环遍历行,内循环遍历列。
4. 在每次迭代中,将一维数组中的元素复制到二维数组的相应位置。
```

这样,你就可以将一维数组转换为二维数组,并按照你想要的方式进行分区。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分