作者junchikino (korean)
看板MATLAB
标题[问题] 矩阵每12个做一次平均
时间Fri Jan 6 11:15:25 2012
x=data(:,5) ->是index值
y=data(:,6) ->同上
我想要矩阵内 每4个值做一次平均(但是是连续的)
x=[1 2 3 4 5 6 7 8 9]
xnew=[(1+2+3+4)/4 (2+3+4+5)/4 (3+4+5+6)/4]……以此类推
有爬文到有板友提
ans=blkproc(x,[4 1],'sum(x(:))')
B=mean(buffer(x,4,1,'nodelay'));
但这二种方法矩阵的维度就变了 且是不连续的状况下
我想要连续平均的情况下,且维持维度不变
1F:→ DKer:xx=reshape(x,3,9); xnew=mean(xx,2)'; 01/06 13:13
2F:→ DKer: (x,3,3); 打错了 01/06 13:14
3F:→ DKer:不过矩阵维度本来就不会跟原本一样啊O_O? 01/06 13:17
楼上d大是指最後面的值吗
後来我4点做1次
===================================
n=4;
for i=1:length(x)-n;
a(i)=mean(x(i:i+n));
an=a';
end
for i=1:length(y)-n;
b(i)=mean(y(i:i+n));
bn=b';
end
U=x(end-(n-1):end);%最後一点
U=U';
V=y(end-(n-1):end);
V=V';
xnew=[a,U]';
ynew=[b,V]';
figure(1)
plot(x, y,'g-+', xnew, ynew,'r-o');
===============================
但我取n=4的时候,倒数的2点,一直没出现在图上
虽然我看矩阵的维度是相同的 但却一直找不出来= =
※ 编辑: junchikino 来自: 140.109.214.4 (01/06 16:45)
4F:→ mp19990920:x=[1:9]; 01/08 12:35
5F:→ mp19990920:xnew=conv(x, 1/4*ones(1, 4)); 01/08 12:35
6F:→ mp19990920:xnew=xnew(4:end); 01/08 12:36