看板 MATLAB 關於我們 聯絡資訊
假設有一個矩陣是這樣子 A=[25 70 22 25 1] 想在第一個元素(25)和第二個元素(70)取平均值 把值放入25和70中間 以及第二個元素(70)和第三個元素(22)中取平均 把值放入70和22中間 以及第三個元素(22)和第四個元素(25)取平均 把值放入22和25中間 以及第四個元素(25)和第五個元素(1)取平均 把值放入25和1中間 變成 B=[25 47.5 70 46 22 23.5 25 13 1] 再做一次同樣的動作 把第一個元素(25)和第二個元素(47.5)中取平均 把值放入25和47.5中間 之後的元素也做同樣的事情 變成 c=[25 26.25 47.5 ......] 再繼續一直做直到元素個數變為N 這樣程式碼要怎麼寫呢 想好久都想不出來 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.191.151 ※ 編輯: hopeandhmm 來自: 140.116.191.151 (12/03 16:50)
ABCDEFGH1:你可以將A變成B 寫成一個function 然後利用此function 12/03 23:42
ABCDEFGH1:B變成C 依此類推 在加個判斷式 做到元素個數為N時 就停 12/03 23:44
ABCDEFGH1:止 12/03 23:44
ABCDEFGH1:此function應該不難 位置都是有規則的 很好處理 12/03 23:46
ABCDEFGH1:手邊沒有MATLLAB 可以用 所以大概講一下觀念 12/03 23:46
DKer:b=repmat(a,2,1); c=b(:)'; temp(1,:)=c(1:end-1); 12/04 00:47
DKer:temp(2,:)=c(2:end); Answer=mean(temp); 12/04 00:47
DKer:answer=interp1(a,1:5,1:0.5:5); <=比土砲內插方便多了.. 12/04 02:03