[其他] 想請教矩陣中數值有關的問題...

看板MATLAB作者 (......)時間14年前 (2011/12/03 16:18), 編輯推噓1(107)
留言8則, 2人參與, 最新討論串1/3 (看更多)
假設有一個矩陣是這樣子 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)

12/03 23:42, , 1F
你可以將A變成B 寫成一個function 然後利用此function
12/03 23:42, 1F

12/03 23:44, , 2F
B變成C 依此類推 在加個判斷式 做到元素個數為N時 就停
12/03 23:44, 2F

12/03 23:44, , 3F
12/03 23:44, 3F

12/03 23:46, , 4F
此function應該不難 位置都是有規則的 很好處理
12/03 23:46, 4F

12/03 23:46, , 5F
手邊沒有MATLLAB 可以用 所以大概講一下觀念
12/03 23:46, 5F

12/04 00:47, , 6F
b=repmat(a,2,1); c=b(:)'; temp(1,:)=c(1:end-1);
12/04 00:47, 6F

12/04 00:47, , 7F
temp(2,:)=c(2:end); Answer=mean(temp);
12/04 00:47, 7F

12/04 02:03, , 8F
answer=interp1(a,1:5,1:0.5:5); <=比土砲內插方便多了..
12/04 02:03, 8F
文章代碼(AID): #1EsTj0qd (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1EsTj0qd (MATLAB)