作者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