moon555sss 发表于 2010-2-3 10:16

求助求平均值

各位兄弟姐妹

我有一组数据 比如说(x1,x2,x3,x4,x5,x6...xi,xi+1,...)

我希望可以每两个数据求一次平均值
变成(average(x1:x2),average(x3:x4),average(x5:x6),...average(xi:xi+1),...)

可惜这组数据非常多 一个个输入 实在有够麻烦

不知道有没有什么简单的方法 谢谢了

ChaChing 发表于 2010-2-3 11:50

aa=rand(100,1); aa=reshape(aa,2,50); bb=mean(aa);

moon555sss 发表于 2010-2-3 17:04

回复 沙发 ChaChing 的帖子

我的大神啊 太感谢你了

VibrationMaster 发表于 2010-2-3 18:20

reshape 太复杂了,用这个
aa=rand(100,1);
mean=0.5*(aa(1:end-1)+aa(2:end));

ChaChing 发表于 2010-2-3 18:40

回复 地板 VibrationMaster 的帖子

LS看快了mean=0.5*(aa(1:end-1)+aa(2:end));并非LZ要的
应该是mean=0.5*(aa(1:2:end-1)+aa(2:2:end));

moon555sss 发表于 2010-2-3 18:42

v兄啊 你的方法可能有点问题

我的意思是每2个数据求1次平均值 不是(x1+x2)/2,(x2+x3)/2,...

比如100个数据 算了后应该有50个数据 而不是99个

我兄的方法挺好理解的 都谢谢你们了

friendchj 发表于 2010-2-4 05:11

呵呵,像这种情况。我比较喜欢用块处理函数blkproc。例如:
>> a=;
>> blkproc(a,,,@mean)

ans =

    1.5000    3.5000

ChaChing 发表于 2010-2-4 08:39

基本上, 不差很多的话, 个人习惯使用basic较好, 毕竟toolbox不是每个都齐!
不过楼上的blkproc函数还满好用的, 学习了!
页: [1]
查看完整版本: 求助求平均值