看板 MATLAB 關於我們 聯絡資訊
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')); 但這二種方法矩陣的維度就變了 且是不連續的狀況下 我想要連續平均的情況下,且維持維度不變
DKer:xx=reshape(x,3,9); xnew=mean(xx,2)'; 01/06 13:13
DKer: (x,3,3); 打錯了 01/06 13:14
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)
mp19990920:x=[1:9]; 01/08 12:35
mp19990920:xnew=conv(x, 1/4*ones(1, 4)); 01/08 12:35
mp19990920:xnew=xnew(4:end); 01/08 12:36