我正在使用labview XY线图,该图使用随机数生成器生成y值,并使用while循环计数生成x值。当达到阈值 x 值(例如 1000)时,我希望能够迭代过去的 1000 个值并仅每 10 个值显示一次(这具有整理绘图的效果)。理想情况下,实现此目的的方法可以扩展到更高的阈值,以便绘图具有以下格式:
每 1,000 个值,步长为 10
每 10,000 个值,步长为 100
每 100,000,步长为 1,000
etc.
下面是我一直在使用的代码以及 VI 的图片。我的问题是,是否有更好的方法来实现这种效果,而不必像我当前所做的那样从数组中删除值(在 for 循环内)?
Code
虚拟仪器
你所指的是所谓的“抽取”(我认为这里是字面意思,因为你将其分解为 10 秒)。 LabVIEW中有一个用于抽取数组的函数,可以找到更多信息here https://zone.ni.com/reference/en-XX/help/371361R-01/glang/decimate_1d_array/.
这似乎是您尝试使用 decimate VI 执行的操作的简化版本
Signal Operations 选板中提供了可配置的抽取 VI,可以使用抽取因子进行抽取,请参见here http://zone.ni.com/reference/en-XX/help/371361R-01/lvanls/decimatecont/或来自第 3 方软件包。 MGI 有一个名为 MGI Decimate Array with Offset 的调色板。您可以将上面代码中的抽取函数替换为其中任何函数,并根据传入数组的大小更改抽取因子。
编辑:@JonathanVahala 询问有关使用下面的可配置抽取。请参阅此图片,其中显示了执行此操作的方法:
您可以用这个结构替换案例结构,以这种方式进行大量破坏。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)