Re: [問題] 怎麼求數列的差?已回收

看板MATLAB作者 (黃囧龍)時間15年前 (2009/05/05 16:19), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《mmzznnxxbbcc (黃囧龍)》之銘言: : 請問要怎麼用matlab求數列的差? : 也就是如果我有一串數列 1 7 8 9 5 這5個元素 : 則其差值的數列就會是6 1 1 -4 這4個元素 也就是用後項減前項 : 我目前想到的是 : 假如我設a為一個數列 b為a的差值 : 則 : b = [a(2)-a(1),a(3)-a(2),a(4)-a(3),a(5)-a(4),.........] : 這樣應該可以吧(我Matlab沒很熟 不知道有沒有寫錯) : 可是有個問題是 如果我的a很大 有幾百個元素 : 那我這種暴力寫法不就會寫死 : 不曉得有沒有更好的方法? : 謝謝 先謝謝大家跟我說求差值的寫法 原來有diff這個內建函式 想請問 如果我是想要讓 b = [a(2)+a(1),a(3)+a(2),a(4)+a(3),a(5)+a(4),.........] 也就是相鄰的兩個元素做相加 這是不是也有內建語法可以做呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.141.90

05/05 16:20, , 1F
推文有你能用的寫法了吧@@ 有那麼堅持用內建的嗎
05/05 16:20, 1F

05/05 16:20, , 2F
b=a(2:end)+a(1:end-1);
05/05 16:20, 2F

05/05 16:23, , 3F
只是覺得用語法寫出來的程式比較好懂
05/05 16:23, 3F

05/05 16:26, , 4F
謝謝2樓 我就先這樣寫好了
05/05 16:26, 4F
文章代碼(AID): #19__Q4i3 (MATLAB)
文章代碼(AID): #19__Q4i3 (MATLAB)