如何用labview实现一已知数组相邻元素相减?具体问题看补充

labview中我用计数器采集脉冲,因为采集方式为 断断续续的,就是触发信号为高电平时候计数器进行采集。低电平不采集。然后我采下来是触发信号为高电平时的计数器采集到的脉冲,但是计数器是不断累加的,要想知道每段高电平时候的净脉冲,我就想把每次采集到的数,组成的数组,然后,后一个减去前一个,就是我想要的数值了,另外一个就是如何去掉数组中相同的数?因为我知道计数器是不断加的,相同的只是读取周期太快把同一个数读取了2次而已。麻烦高手指点一下。2个问题记得都回答哦~~丰厚追加。

看起来你是要先去掉相同数,然后再后一个减去前一个,得到你想要的数值对吧。
首先,第一步:去掉相同的数。用编程->数组 里面的 “搜索以为数组”函数。每一次采集到一个数据,就在其前一后一(这个你可以自己定)的数组中搜索,如果已经存在这个数,就不要存到数组里面去。反之就存进去。
第二步:得到你想要的数值。这个你用个while循环就行了。在循环里面把后一个减去前一个,然后存到另外一个数组a里。那么这个数组a里就是所有的你想要的数值了。

PS:上面这个方法是 边采集边处理,也就是说类似实时的那种。如果你处理的是已经采集好的(已经全部放进一个数组里的),那大概步骤还是这两个,但是第二个步骤用for循环更好些。
不知我理解地是否正确。只能给你大致的思路,具体程序的逻辑整理和流程设计只能你自己做了,呵呵。追问

麻烦把步骤说的清楚点啊,特别是第二步。第一步,我找到“搜索一维数组”只有初始化、输入数据点、元素、采样长度、索引等选项啊,并没有看到可设置的前一后一什么的,我要的是清除相同的数据,至于这个数据是多少也是变的。因为计数一直在加啊。然后怎么执行清除数据?或者如你所说的存或不存?大侠你是我偶像啊,帮忙啊一定~

追答

这个够清楚吗?仔细看一下。我说的设置一前一后的不是现成的,我是说你可以设计程序设置搜索以为数组的 “开始索引”使之实现这样搜索。因为清楚数据是在一个循环里,每次你得到一个新数据,都去找和这个新数据相同的数据,然后把他删掉,这个新数据到底是多少并没有关系。
至于怎么删除数据,不是有一个删除数字元素的函数?也是在编程->数组里面。或者你就再加一个数组,不符合你设定的删除条件就放进数组,符合你删除条件就不放进数组,这不是也能实现吗?
这都是实现的细节,你先把程序框架搭好,再细化具体实现细节。还不清楚加我QQ吧945087863

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-04
个人感觉你的问题在 什么是脉冲,怎么采集这些基本概念这里
而不是怎么用软件实现算法这里, 脉冲采集是最基本的,不会难为你到
考虑这么麻烦的算法。追问

农民请绕路谢谢

相似回答