在做一个关于电子秤数据分析的程序,遇到数据分析问题,寻求帮助!

pfworld 2011-02-18 10:45:50
第一组:
0,0,0,20,3340,4820,4860,4900,4900,4900,4900,9660,19000,19080,19600,19380,19600,19540,19380,19660,19840,19180,19560,19500,19440,19580,19480,19580,19500,19560,19460,19580,19520,19600,19540,19560,19540,19580,19560,19540,19520,19560,19540,19560,19540,19560,19580,19560

数据重0开始:
“0,0,0,20,3340,4820,4860,4900,4900,4900,4900”相当于车辆第一组轮胎进入电子秤
“9660,19000,19080,19600,19380,19600,19540,19380,19660,19840,19180,19560,19500,19440,19580,19480,19580,19500,19560,19460,19580,19520,19600,19540,19560,19540,19580,19560,19540,19520,19560,19540,19560,19540,19560,19580,19560”相当于车辆第二组轮胎进入电子秤

因此得出结论:此车2轴,车货总重19560,第一轴大概重量4900,第二轴大概重量19560-4900=14660



第二组:
0,0,0,1900,5120,5180,5480,5480,5320,5480,18940,19900,19920,19920,19900,20000,19980,19960,20060,19700,19900,19760,20020,20160,20140,19800,20100,19500,20760,20380,20060,19920,20200,19700,20360,19640,19600,20420,19740,20240,19940,20020,20040,20040,20040,20060,20020,20080,20020,20080,20020,20080,20020,20060,20060,20060,20080,20040,20080,20060,20040

数据重0开始:
“0,0,0,1900,5120,5180,5480,5480,5320,5480”相当于车辆第一组轮胎进入电子秤
“18940,19900,19920,19920,19900,20000,19980,19960,20060,19700,19900,19760,20020,20160,20140,19800,20100,19500,20760,20380,20060,19920,20200,19700,20360,19640,19600,20420,19740,20240,19940,20020,20040,20040,20040,20060,20020,20080,20020,20080,20020,20080,20020,20060,20060,20060,20080,20040,20080,20060,20040”相当于车辆第二组轮胎进入电子秤

因此得出结论:此车2轴,车货总重20420,第一轴大概重量5480,第二轴大概重量20420-5480=14940

第三组:
0,0,0,1480,5420,5780,5760,5760,5760,5760,5760,5760,5760,5740,5660,5620,5540,5560,5540,5540,5560,5560,5560,5620,6880,12960,13120,13140,13180,13140,13160,13160,13200,16560,19940,20140,20120,20240,20200,20220,20180,20200,20200,20220,20140,20200,20160,20240,20220,20200,20200,20180,20160,20200,20240,20200,20220,20220,20240,20220,20240,20300,20540,20520,20580,20580,20580,20560,20600,20620,20680,20560,20560,20460,20340,20280,20300,20280,20280,20280,20260,20800,28000,31500,31700,31700,31720,31660,31680,31700,32140,38500,42620,42620,42620,42400,42360,42340,42200,42260,43060,47160,51660,52320,52060,52420,52600,52420,52160,52180,52220,52240,52320,52780,52200,52320,52400,52380,52180,52460,52420,52360,52380,52340,52400,52360,52380,52360,52380,52360

数据重0开始:
“0,0,0,1480,5420,5780,5760,5760,5760,5760,5760,5760,5760,5740,5660,5620,5540,5560,5540,5540,5560,5560,5560,5620,6880”相当于车辆第一组轮胎进入电子秤

“12960,13120,13140,13180,13140,13160,13160,13200,16560”相当于车辆第二组轮胎进入电子秤

“19940,20140,20120,20240,20200,20220,20180,20200,20200,20220,20140,20200,20160,20240,20220,20200,20200,20180,20160,20200,20240,20200,20220,20220,20240,20220,20240,20300,20540,20520,20580,20580,20580,20560,20600,20620,20680,20560,20560,20460,20340,20280,20300,20280,20280,20280,20260,20800”相当于车辆第三组轮胎进入电子秤

“28000,31500,31700,31700,31720,31660,31680,31700,32140”相当于车辆第四组轮胎进入电子秤

“38500,42620,42620,42620,42400,42360,42340,42200,42260,43060,47160”相当于车辆第五组轮胎进入电子秤

“51660,52320,52060,52420,52600,52420,52160,52180,52220,52240,52320,52780,52200,52320,52400,52380,52180,52460,52420,52360,52380,52340,52400,52360,52380,52360,52380,52360”相当于车辆第六组轮胎进入电子秤

因此得出结论:此车6轴,车货总重52380,第一轴大概重量5560,第二轴大概重量13200-5560=7640,第三轴大概重量20580-13200=7380,第四轴大概重量31700-20580=11120,第五轴大概重量42620-31700=10920,第六轴大概重量52360-42620=9740


不知道这个如何做成数学模型,或者如何查找规律?希望大家给出建议!!



...全文
491 51 打赏 收藏 转发到动态 举报
写回复
用AI写文章
51 条回复
切换为时间正序
请发表友善的回复…
发表回复
pfworld 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 50 楼 eeries 的回复:]
哈哈,这哥们肯定接了计重收费公路的维护任务了!原开发商不肯给通信协议吧?咱这儿有啊!哥收集了十多种呢,说,啥产家的称?
[/Quote]

啊哈!伙计明白人!!协商神马的就没有见过!伙计有发我看看!我一般是使用串口调试程序截数据自己分析!

divineren@163.com
eEriEs 2011-03-07
  • 打赏
  • 举报
回复
哈哈,这哥们肯定接了计重收费公路的维护任务了!原开发商不肯给通信协议吧?咱这儿有啊!哥收集了十多种呢,说,啥产家的称?
636f6c696e 2011-03-07
  • 打赏
  • 举报
回复
比较相邻数据,如果差值为0且不为0,就表示是一个轴的重量。
循环下去直到找出所有轮胎的重量。
mhr20100103 2011-03-07
  • 打赏
  • 举报
回复
等待高手出现。。。。
pfworld 2011-03-05
  • 打赏
  • 举报
回复
都没有回复了!大家帮忙呀!要不我重新开一帖!!分不是问题!
pfworld 2011-03-01
  • 打赏
  • 举报
回复
都没有回复了!大家帮忙呀!要不我重新开一帖!!分不是问题!
uglyLeosg 2011-02-28
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 pfworld 的回复:]
b[i]= (x1-0) * 10/x1, (x2-x1) * 10/x2,... ...,(xi-xi-1)/xi。注xi为0时 bi=1
c[i]= |bi - 10| / n ; 注n为一个常量,例n可表示为max(x) 的10% 或者

为什么是10这个参数?
[/Quote]

同感,10这个常量哪里来的?
pfworld 2011-02-25
  • 打赏
  • 举报
回复
b[i]= (x1-0) * 10/x1, (x2-x1) * 10/x2,... ...,(xi-xi-1)/xi。注xi为0时 bi=1
c[i]= |bi - 10| / n ; 注n为一个常量,例n可表示为max(x) 的10% 或者

为什么是10这个参数?
uglyLeosg 2011-02-24
  • 打赏
  • 举报
回复
业务逻辑很简单:
货车上电子秤,第一对轮胎上去出现重量,随着火车继续前进重量慢慢上升,然后是第二对轮胎上称,以此类推。直到最后一对轮胎上称,这时重量最大,然后是下称,也是一对轮胎一对轮胎的下,重量下降,直到变为0。反映成曲线就是一个抛物线。现在要从传回的重量中分析出一共有几对轮胎和每对轮胎上称一瞬间的重量。

根据这个需求,进行数学建模。起始实际情况更复杂。比如:同样3对轮胎的车,一对轮胎与一对轮胎之间的距离不同,曲线和传回的值不同。而且,如果车速不匀速,可能也有影响。

所以,越想越觉的单靠称传回的数据进行分析有点不可能。还要加个车轴识别装置,吧重量分段。但是车轴识别装置又不能保证100%识别率。因此——这个问题解决起来不容易啊。
pfworld 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 37 楼 skison 的回复:]
数据变化
x[i]= x1,x2....xi
b[i]= (x1-0) * 10/x1, (x2-x1) * 10/x2,... ...,(xi-xi-1)/xi。注xi为0时 bi=1
c[i]= |bi - 10| / n ; 注n为一个常量,例n可表示为max(x) 的10% 或者
此时得到的c数据应为 0,0,0,0,1,1,1,1,1,3,3,3,3,3,555555555,66……
[/Quote]

有点晕!不太理解原理!我的数学老师呀!我对不起您老人家!
pfworld 2011-02-23
  • 打赏
  • 举报
回复
看来只有自己UP了!都沉到海底了!!
skison 2011-02-22
  • 打赏
  • 举报
回复
数据变化
x[i]= x1,x2....xi
b[i]= (x1-0) * 10/x1, (x2-x1) * 10/x2,... ...,(xi-xi-1)/xi。注xi为0时 bi=1
c[i]= |bi - 10| / n ; 注n为一个常量,例n可表示为max(x) 的10% 或者
此时得到的c数据应为 0,0,0,0,1,1,1,1,1,3,3,3,3,3,555555555,66666666666
判断不同值个数。

算法优化
1、b[i]的取得,例如 bi = (xi+1 + xi-1)/(xi * 2)等
2、n的取值情况,
3、c[i]的取得情况,例如c[i] = [bi+1 + bi + bi-1 - 30]/n
pfworld 2011-02-21
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 locket 的回复:]
这个分析应该不难吧,你把数据分布到二维数轴上,然后再看看斜率,按照这个建模就可以了
[/Quote]

有没有事例!
locket 2011-02-21
  • 打赏
  • 举报
回复
这个分析应该不难吧,你把数据分布到二维数轴上,然后再看看斜率,按照这个建模就可以了
pfworld 2011-02-21
  • 打赏
  • 举报
回复
我有个想法是,在大量数据中分析一组标准值产生的曲线,然后用新的曲线对比这个模版曲线,如果像是那么就可以很容易判断出几轴了!不过要判断轴重就不容易了!
darkofday 2011-02-20
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 gxchenzhao 的回复:]

我觉得不应该使用阀值,而应该使用波动比例。

N个值连续且数值接近的数据为判定为一组,
N设置为最少的数值次数,使用百分比判定数值接近,如波动小于10%的算一组,
丢弃其它数据。
[/Quote]
楼主这个例子,如果理解没有错的话,应该是一台电子秆实时的扫描重量信息,生成一串数据流,然后程序实时处理得到结果。
我的理解是这个阀值和你说的波动其实是一样的,因为我们的目的就是要在这样一个数据流曲线上判定出特征点得出特征事件。而这个判定标准就是一个阀值,只是实际执行过程中可以是动态确定这个阀值,可以根据某个基数或作一种什么样的处理来使这个阀值放大或缩小到刚好可以更接近实际情况又要排除一定的误差。
回到这个实例,车辆的重量可能差很多,有的很轻,有的很重;同一辆车轴距不同,可能出现在整车很重的情况下,某个轴承载重量很小,在这种情况情况下,实际上很难与正常的波动区分开来。
“N设置为最少的数值次数,使用百分比判定数值接近,如波动小于10%的算一组,丢弃其它数据。”对于这句其实是有漏洞的,因为轴数越多的车,数据流靠近末端的数值会越来越接近,因为此时重量基数相比一个轴的承重要大的多,而且会越来越大得多,最后会很难区分。
另外,采用阀值其实也是一种数据分组;10%也是和阀值差不多的东西。我的程序中作差其实不是差,而是变化率,因为数据是实时等时间段的扫描得到的,时间单位默认为1;根据变化率应该比你的这种办法更优,如果我没有理解错的话。
darkofday 2011-02-20
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 sp1234 的回复:]

“轮组进入、轮组离开”,最起码懂得一点业务知识,才会有真正的想法。

回到lz的题目,我不是没有见过这样的题目。事实上我见过一些这样的公司,专门靠折腾那些在大学里搞教学的傻瓜而赚钱。遇到这样的公司就惨了,你的老板会告诉你“不要跟那些大学教授谈任何业务知识”,然后他还逼着你多找一些大学教授让人家来分析这些数据。等你把人家玩个两三个月,大家都觉得数据建模差不多了,老板来开会直接就是来拆台的,直接……
[/Quote]
对于您的建议,让我这个还在学校的人觉得很受用。不过我在想这个事例的教训是叫我们重视业务分析还是更应该提防这样的老板呢。对于理解业务我觉得这应该是一个本不应该额外强调的事情,应该是在整个产品开发过程中协调处理好的事情,只是很多环节为了偷懒省掉了应该传递给下一环节的信息,缺乏一种对他人处境的理解和关照。对于提防这样的老板和公司,怎么说呢,我现在能想到的,只能是把握住一些基本原则和底线以及一些社会经验吧。
回到楼主的题目,我们应该充当一种什么样的角色呢,我觉得至少在楼主所给题目信息的情况下,尽可能地提供一些解答和讨论可能更好吧。
  • 打赏
  • 举报
回复
基本上,我们是稳步的开发者,所以应该在行业内依据领域知识和经验进行创新,而不是玩人式的创新。
  • 打赏
  • 举报
回复
老爸再让自己公司里边的人重新开始开发 --> 老板再让自己公司里边的人重新开始开发

此时你不但做了玩那些学术傻瓜的小人,而且老板还硬说是你没有领会领导意图。如果你遇到这种不让你去分析业务逻辑地去进行数学建模的老板,要小心了。
  • 打赏
  • 举报
回复
“轮组进入、轮组离开”,最起码懂得一点业务知识,才会有真正的想法。

回到lz的题目,我不是没有见过这样的题目。事实上我见过一些这样的公司,专门靠折腾那些在大学里搞教学的傻瓜而赚钱。遇到这样的公司就惨了,你的老板会告诉你“不要跟那些大学教授谈任何业务知识”,然后他还逼着你多找一些大学教授让人家来分析这些数据。等你把人家玩个两三个月,大家都觉得数据建模差不多了,老板来开会直接就是来拆台的,直接说“你们的模型错了”,于是把几个教授团队打发走了,老爸再让自己公司里边的人重新开始开发。
加载更多回复(24)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧