Fortran Coder

查看: 20449|回复: 10
打印 上一主题 下一主题

[数值问题] 初学,求助‘有一组数据,统计各个区间内数据个数’的...

[复制链接]

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

跳转到指定楼层
楼主
发表于 2015-3-7 09:11:47 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 likm1110 于 2015-3-7 10:25 编辑

如 :: 一组数据:1.3;4.3;3;5.1;6.;7.6;8.;0.6;8.4;12.5;11.;。
希望统计[0,2),[2,4),[4,6),[6,8),[8,10),[10,12),[12,14)各个区间内的数据个数。
尝试三天了一直失败.....求帮助T T谢谢指教!
PS.实际的数据有上千个,希望给出一个通用的统计方法,谢谢!


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

11#
 楼主| 发表于 2015-3-8 12:25:31 | 只看该作者
vvt 发表于 2015-3-8 10:52
1000个数据做统计, count 函数一瞬间就能完成。不需要做额外的工作来优化。

倘若数据上了百万,再考虑优 ...

恩。和学长的数据对上了。谢谢~

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
10#
发表于 2015-3-8 10:52:15 | 只看该作者
1000个数据做统计, count 函数一瞬间就能完成。不需要做额外的工作来优化。

倘若数据上了百万,再考虑优化。

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

9#
 楼主| 发表于 2015-3-8 10:02:21 | 只看该作者
基本成功了,正确性还得对数据,但是已经可行,谢谢各位指点!

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
8#
发表于 2015-3-8 09:01:16 | 只看该作者
本帖最后由 li913 于 2015-3-8 09:30 编辑

1、如果统计区间是等间距的,可用如下代码
[Fortran] 纯文本查看 复制代码
program test
real a(1000) !假设有1000个数据
integer i, j, num(7) !假设7个统计区间[0,2),[2,4),[4,6),[6,8),[8,10),[10,12),[12,14)

open(10,file='1.txt')
num = 0 
do i = 1, 1000
read(10,*) a(i)
j = a(i)/2.0 + 1
num(j) = num(j) + 1
end do 
end program 



2、如果统计区间不是等间距,且区间个数较多,应先对数据进行排序,然后统计各区间数据量。

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

7#
 楼主| 发表于 2015-3-8 08:10:22 | 只看该作者
本帖最后由 likm1110 于 2015-3-8 10:02 编辑
vvt 发表于 2015-3-7 23:31
第一步. 把数据写在文件里。
第二步,定义一个1000的数组。
第三步,从文件里读入这个数组。

已经成功,谢谢!

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
6#
发表于 2015-3-7 23:31:13 | 只看该作者
第一步. 把数据写在文件里。
第二步,定义一个1000的数组。
第三步,从文件里读入这个数组。
第四步,count 函数统计。

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

5#
 楼主| 发表于 2015-3-7 22:38:45 | 只看该作者
vvt 发表于 2015-3-7 21:16
写在文件里,然后读入。

.......1000多个数据分段统计......普通读取文件还是会的.......难道文件操作可以直接统计??谢谢......

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
地板
发表于 2015-3-7 21:16:14 | 只看该作者
写在文件里,然后读入。

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

板凳
 楼主| 发表于 2015-3-7 18:52:00 | 只看该作者
本帖最后由 likm1110 于 2015-3-8 10:03 编辑
fcode 发表于 2015-3-7 11:53
[mw_shl_code=fortran,true]Program www_fcode_cn
  Implicit None
  real :: a(11) = (/1.3,4.3,3.,5.1,6. ...

成功了,感谢!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 23:32

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表