| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1946 人关注过本帖
标题:求助如何统计一组小数数据的分布频率
只看楼主 加入收藏
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
结帖率:95%
收藏
已结贴  问题点数:30 回复次数:7 
求助如何统计一组小数数据的分布频率
问题:比如,一组数据包含很多小数{0.432,0.506,0.751,0.557,2.086,1.008 ...},已知其大小在0.4到2.5之间,需要统计这组数据的分布情况
我的思路:由于小数位数多,无法详细统计,所以只取其近似值,如0.400到0.450之间的数都统计为0.4,0.451到0.550之间的数都统计为0.5,0.551到0.650之间的数都统计为0.6 ...
           这样的话,情况就会简化为统计(0.4,0.5,0.6,0.7 ... 2.5)的分布
需要求助:如何从程序上实现(要求简单)

谢谢您的耐心帮忙!
搜索更多相关主题的帖子: 如何 统计 
2011-11-08 22:17
森淼
Rank: 2
来 自:甘肃金昌
等 级:论坛游民
帖 子:10
专家分:17
注 册:2011-11-8
收藏
得分:5 
可以建立一个数组a[],该数组用来存放满足每一个范围数字的个数,例如满足0.400到0.450之间的数判断出一个就将a[0]中的数字加1,这样计数

闲看庭前花开花落
漫随天外云卷云舒
2011-11-08 22:28
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
收藏
得分:0 
回复 2楼 森淼
好主意!
但还有一点很关键:如何判断这个数与哪个数接近,如0.456,举例时很容易把它归为0.5,但有很多数据时,如何写一个简单有效的程序?

非计算机专业自学新手向大家请教
2011-11-08 22:39
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:10 
就像2楼说的那样,定义一个数组存放这些数据a[N],要分几个组,就设几个累加的变量,如:
0.400~0.450为a1=0;
0.451~0.500为a2=0;
……
……
2.01~2.50为an=0;
然后循环进行判断属于哪个区间。
for(i=0;i<N;i++)
{
if(a[i]>=0.4&&a[i]<=0.45) a1++;
if(a[i]>0.45&&a[i]<=0.50) a2++;
……
……
if(a[i]>2.0&&a[i]<=2.50) an++;
}
然后对a1……an进行分布计算。
收到的鲜花
  • qhxxbc2011-11-08 22:53 送鲜花  5朵   附言:谢谢!楼门要关,我得下了,明天再请教
2011-11-08 22:40
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
收藏
得分:0 
回复 4楼 luchar
就是考虑到那部分for太长了,从0.4到2.5得有22次判断,我的数据很多(即您说的N很大)
有没有更简单有效的方法?

非计算机专业自学新手向大家请教
2011-11-08 22:48
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:15 
可以啊,用循环
int i,j,k=0,a[N],t[30]={0};
a[N]这个不管是读取数据还是直接输,都行,输的话要烦死的而已。
for(j=0.4;j<2.5;j=j+0.05)
   
         for(i=0;i<N;i++)
         if(a[i]>j&&a[i]<=(j+0.05))
            b[k]++;
         k++;
   
这样就把22组都放到t数组的t[0]到t[21]里了
2011-11-09 10:27
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
收藏
得分:0 
回复 6楼 luchar
可以解决问题了,但是算法不太高效,我的意思是:N需要重复比较22次!
我是想,有没有一次比较N就可得到结果的办法?
再次感谢您的帮助!我再稍微等等有没有更好的办法。

非计算机专业自学新手向大家请教
2011-11-09 11:20
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
收藏
得分:0 
实际操作了一下,其实这个算法挺快的,虽然看起来慢

非计算机专业自学新手向大家请教
2011-11-10 08:01
快速回复:求助如何统计一组小数数据的分布频率
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015866 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved