[問題] 矩陣每4個做一次平均

看板MATLAB作者 (korean)時間14年前 (2012/01/06 11:15), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
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')); 但這二種方法矩陣的維度就變了 且是不連續的狀況下 我想要連續平均的情況下,且維持維度不變

01/06 13:13, , 1F
xx=reshape(x,3,9); xnew=mean(xx,2)';
01/06 13:13, 1F

01/06 13:14, , 2F
(x,3,3); 打錯了
01/06 13:14, 2F

01/06 13:17, , 3F
不過矩陣維度本來就不會跟原本一樣啊O_O?
01/06 13:17, 3F
樓上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)

01/08 12:35, , 4F
x=[1:9];
01/08 12:35, 4F

01/08 12:35, , 5F
xnew=conv(x, 1/4*ones(1, 4));
01/08 12:35, 5F

01/08 12:36, , 6F
xnew=xnew(4:end);
01/08 12:36, 6F
文章代碼(AID): #1F1cTFTE (MATLAB)
文章代碼(AID): #1F1cTFTE (MATLAB)