我怎么把一个向量的平均每n值吗?
805(30天)
显示旧的评论
我有一些数据脉冲率和样本是在1000 Hz每毫秒(一个样本),太大了我想看到的东西。向量是399277 x1和我希望能够平均每1000值,这一数字在400年左右的新向量x1。有什么方法吗?
谢谢
0评论
接受的答案
马修Eicholtz
2013年6月27日
试试这个…
n = 1000;%的平均每n值
一个=重塑(cumsum ((n, 10), 2), [], 1);%任意数据
b = arrayfun (@ (i)的意思是((我+ n - 1)), 1: n:长度(a) - n + 1) ';%的平均向量
更多的答案(4)
图像分析
2013年6月27日
编辑:图像分析
2019年1月5日
这是我怎么做(另一种方式),使用blockproc在100年平均元素长块“跳跃”:
%创建示例数据
PulseRateF =兰德(399277 1);
%定义块参数。平均在100行1列宽的窗口。
blockSize =[1] 1000年;
%块处理图像代替每一个元素
% 100元素的均值像素块的块。
%,定义使用的平均函数blockproc ()。
meanFilterFunction = @ (theBlockStructure)非常刻薄(theBlockStructure.data (:));
现在实际的平均百分比(块平均尺寸小一点的数组)。
blockAveragedDownSignal = blockproc (PulseRateF blockSize meanFilterFunction);
%我们检查输出尺寸。
(行、列)=大小(blockAveragedDownSignal)