在LabVIEW中创建数据仓

时间:2018-11-19 14:00:47

标签: labview

我有以下任务:DAQ有两个输出,即速度和与此速度一起获取的原始数据。我想使用speed作为参数来定义一定数量的bin,并将与速度相对应的原始数据放入特定的bin中。我不确定如何在LabVIEW中执行此操作-因为当我检查直方图函数时,似乎只需要一个输入(一维值数组)。 非常感谢,非常感谢您的帮助。艾琳

2 个答案:

答案 0 :(得分:1)

Histogram VI可以获取数据数组和所需的仓数,并自动确定仓的边界。听起来就是您要查看的那个。

General Histogram VI允许您自己指定垃圾箱。如果找不到它,也许您只有LabVIEW基本软件包开发系统,因为它仅存在于完整开发系统及更高版本中。

如果您没有通用直方图,并且需要使用自己的bin边界创建直方图,则创建起来并不难。无需为您编写代码,您可以执行以下操作:

  • 创建一个1D数组,其中包含您的bin边界按升序排列。
  • 使用For循环遍历bin边界数组
  • 在循环中,使用(例如)><=And函数来获取一个布尔数组,该数组包含应为数据数组中每个值的True。当前箱
  • 使用Boolean to (0,1)Add Array Elements来计算True值的数量。

如果不清楚,请用更多详细信息编辑您的问题,也许还提供一些输入数据示例以及您希望输出的内容。

答案 1 :(得分:0)

这是nekomatic描述的实现。

第一个SubVi只是创建包含bin边界的一维数组。 X_in Y_in 是独立且相关的输入数据集。两者的长度必须相等,但不能排序。在内部For循环中,将检查 X_in 是否适合当前容器。如果是这样,则将X_in和相应的Y_in值存储在临时数组中,然后将它们平均。 Binning of 2D array corresponding to first dimension 也许它不是最有效的代码,但至少它似乎不比“通用直方图” VI慢