24小时热门版块排行榜    

查看: 1150  |  回复: 45

njut

新虫 (小有名气)

[求助] 求个小程序

之前寻求分段求平均值的答案,用excel里的Vb终于解决了,可是哪只excel处理的数据量较小,我的数据,总共有2千万个。所以来求助各位了。
我有两组数据,第一组是x,第二组是y。我希望先将y值求余弦,然后对xy分别在一定间隔内求平均值。
需要注意的是,y值是指度数,可是我的数据值是数值,例如,y为160,在excel里就是cos(RADIANS(160))。
我把问题放在两个excel的附件里了。
例子:
x                        y
22.01              120
22.04               60
22.10              150
22.20              60
23.01             30
希望,先求出y的余弦值,以最小的X值为起点,0.1的间隔分别切xy的平均值。
即先求出y的余弦,
x                        y
22.01              -0.5
22.04               0.5
22.10              -0.866
22.20              0.5
23.01              0.866
然后最小值是22.01则求[22.01,22.11],[22.11,22.21],[22.21,22.31]............范围内的平均值
x                        y                        x                                               y
22.01              -0.5               (22.01+22.04+22.10)/3       (0.5+ -0.5+ -0.866)/3
22.04               0.5                     22.20                                             0.2
22.10              -0.866                23.01                                            0.866
22.20              0.5
23.01              0.866
附件是两个例子。第一个是求余弦值。第二个是求平均值。
希望大家帮我做个fortran,拜托了
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 111.rar
  • 2013-03-16 13:04:00, 13.98 K

» 猜你喜欢

努力学,抓紧毕业
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

lyq_superior

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
jjdg: 感谢参与 2013-03-20 03:09:24
其他程序不行么?
Lance
2楼2013-03-17 20:39:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

johnliu1983

至尊木虫 (著名写手)

jjdg: 编辑内容 2013-04-08 00:10
把你的数据存成这样的形式,第一列是x,第二列是y. 可以命名成Book2.xls
然后运行下面的命令,
CODE:
data=xlsread('Book2.xls')
x=data(:,1);
y=data(:,2);
ycos=cos(y/180*pi);
a=min(x);
b=max(x);

space=0.1;

interzone=a:space:(b+space);
l=1;
numx=[];
numy=[];
for k=1:length(interzone)-1
    if ~isempty(find(x>=interzone(k)&x        numx(l)=sum(x(find(x>=interzone(k)&x=interzone(k)&x        numy(l)=sum(ycos(find(x>=interzone(k)&x=interzone(k)&x        l=l+1;
    end
end

其中,numx,和numy就是你要的数据。我的电脑上应该可以运行两千万个数据。就是不知道excel里面是不是可以存那么多了,如果有问题可以再联系我。

未命名.JPG

[ Last edited by jjdg on 2013-4-8 at 00:10 ]
12楼2013-03-29 15:50:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

我查了下,excel 的最大行数为65536行,就是6万5千行,你不能用excel计算;要么分很多的excel文件,怎么分也是个问题。

还有你最初的数据存放文件是什么格式,应该不是excel;其它格式,可以读出来,然后计算。
txt格式文件读取最简单了。
vb中的数组的容量大,可以用它来存放数据,进行计算。
我估计即使能算,也计算机卡的够呛。
15楼2013-03-30 10:59:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

已经增加楼主想要的功能。
42楼2013-04-12 10:58:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

njut

新虫 (小有名气)

引用回帖:
2楼: Originally posted by lyq_superior at 2013-03-17 20:39:52
其他程序不行么?

我不知道怎么处理这个 其他程序应该也行吧,关键是我数据比较大
努力学,抓紧毕业
3楼2013-03-19 20:22:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

【答案】应助回帖

你就不能发个xls的?非要弄什么高版本的xlsx?
我没看明白你在附件里面放了2个excel是什么意思?
你既然都已经求出了,还要做什么?
努力学习!以正当途径!获得需要的知识!
4楼2013-03-20 03:15:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

njut

新虫 (小有名气)

引用回帖:
4楼: Originally posted by jjdg at 2013-03-20 03:15:11
你就不能发个xls的?非要弄什么高版本的xlsx?
我没看明白你在附件里面放了2个excel是什么意思?
你既然都已经求出了,还要做什么?

就像帖子里说的那样,excel求的数据太小。
我想放在txt文档里处理的。
excel第一个是先求Y的余弦值,然后在根据条件求平均值。我把这两步分别在excel里求的了~
努力学,抓紧毕业
5楼2013-03-26 16:05:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

【答案】应助回帖

★ ★
ben_ladeng: 金币+2, 多多参与交流,谢谢 2013-03-27 17:28:37
引用回帖:
5楼: Originally posted by njut at 2013-03-26 16:05:35
就像帖子里说的那样,excel求的数据太小。
我想放在txt文档里处理的。
excel第一个是先求Y的余弦值,然后在根据条件求平均值。我把这两步分别在excel里求的了~...

你这样说法,我也不知道怎么弄
你应该把需要处理的东西,做个例子,比如建一个txt放上来,里面包含数据的格式,因为写程序的话,需要知道数据格式才行,不然别人都不知道你的数据格式如何,怎么读取文件?更谈不上处理了
努力学习!以正当途径!获得需要的知识!
6楼2013-03-26 21:34:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

建议你用sas统计分析软件处理,可能方便,快。
1 用sas读入excel文件
2 用sas 编程做计算。
7楼2013-03-28 09:33:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

如果不急的话,我可以帮你用vb做个程序。
8楼2013-03-28 09:34:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

njut

新虫 (小有名气)

引用回帖:
8楼: Originally posted by deephill at 2013-03-28 09:34:39
如果不急的话,我可以帮你用vb做个程序。

vb不是基于excel的么。可是数据处理量很少,我弄错了,我有很大的数据。如果行的话,您帮我写个vb我来试试吧,谢谢
努力学,抓紧毕业
9楼2013-03-29 14:28:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

njut

新虫 (小有名气)

引用回帖:
7楼: Originally posted by deephill at 2013-03-28 09:33:40
建议你用sas统计分析软件处理,可能方便,快。
1 用sas读入excel文件
2 用sas 编程做计算。

这个,数据处理量大么?
努力学,抓紧毕业
10楼2013-03-29 14:29:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 njut 的主题更新
信息提示
请填处理意见