和记娱乐


网站导航

联系我们

和记娱乐

联系人: 

电 话:021-64057486

公司网址:http://www.happy123456789.com

   址:成都市松江区漕河泾松江新兴产业园区研展路丰产支路55号B座803室

邮编:201165


通信科技

您的当前位置: 和记娱乐主页 > 通信科技 >

工作上一个改进:一个输入序列的稳定输出

发布日期:2019-05-30 15:30 来源:和记h88 发布人:和记娱乐 点击:

  近日在阅读吴军博士的《数学之美》,觉得他的思想是:“获得的大量的数据,然后采用概率和统计的方法,找出这些数据的规律”。受该思想的影响,对近一段工作上的一个问题加以改进:

  假设,一个系统,每秒钟采集到一个数字,形成一个输入序列,如: 37, 37, 36, 37, 38, 37, 35, 37, 37....(用人的眼睛看,很容易看到,其稳定的数值是37)。但如果这个采集到的数字序列显示到屏幕上,如果不采用任何处理的方式,就会看到跳动和变化的37 36 35,这个问题的解决思呢?

  1. 设定一个先进先出FIFO的队列,队列的缓冲长度,就这个示例可以设为5,每采集到一个数字,进入这个队尾,如果长度大于了5,对头出队,这样就形成了一个移动着的“滑窗”,等待后续处理。

  在C/C++语言中,直接使用std::list数据结构,来完成上述FIFO的滑窗,入队:list::push_back,出队:list::pop_back,判断队列中的元素数量:list::size。当然std::deque,vector也可以,使用vector时,注意其效率,因为滑窗中的数据元素移动复制,最好使用指针类型的数据结构。

  2. 有了这个“滑窗”,就可以找出里面“出现概率最大的元素”。如果是C/C++语言,直接使用std::multiset来实现寻找最大值,将该滑窗序列的元素依次加入到该集合中,mulitset::count直接报出每个元素出现的个数。

      和记娱乐,和记h88,h88平台官网