[問題] 如何放大數列

看板MATLAB作者 (天霜凝月)時間11年前 (2013/04/14 15:06), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
放大圖像的可以用 imresize(A,B,'nearest'); imresize(A,B,'bilinear'); 達到 nearest-neighbor interpolation 和 linear interpolation的效果 不過我想用一串數列放大 例如 [1 2 3 4 5 6] 要放大成10個數字 一樣用這個跑好像沒辦法 不知道是不是要用其他程式碼跑或是我用法錯誤 我是 c=[1 2 3 4 5 6]; c1=imresize(c,10,'nearest'); 不過因為imresize是二維的差值 所以出來是兩個方向都有放大 不能夠只讓他放大一個方向嗎 一維插值不知道是要用哪個程式碼... interp1 這個好像是一維的 不過不知道要怎麼用出這樣的功能 這好像只能兩個數字下去算? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: wxtab019 來自: 140.123.222.49 (04/14 15:10)

04/14 15:37, , 1F
阿 我用2維的去跑 然後只看第一行 不知道結果一不一樣..
04/14 15:37, 1F

04/14 15:52, , 2F
c1 = imresize(c, [1, 10], 'nearest');
04/14 15:52, 2F
剛去試一下這個 第8個數好像會錯誤 照理說應該要和原本的第5個數一樣 不過跑出來的是和第6個一樣 剛剛去找到interp1 的寫法了 a=1:1:6; c=[1 2 3 4 5 6]; a1=1:5/8:6; c1=interp1(a,c,a1,'nearest'); ※ 編輯: wxtab019 來自: 140.123.222.49 (04/14 17:57)
文章代碼(AID): #1HQbLoTl (MATLAB)