矩陣插值的問題

看板MATLAB作者 (fkpanda)時間7年前 (2017/12/23 10:11), 編輯推噓2(2018)
留言20則, 4人參與, 7年前最新討論串1/2 (看更多)
小弟菜鳥想請問各位大大 現在有一個1*60000的矩陣 想要每次取樣2個點並在2點之間插入0 我試著用迴圈但沒有成功 請問迴圈該用什麼方法 或是有其他的方式 感謝各位大大 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.245.117 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1513995106.A.EFF.html

12/23 11:12, 7年前 , 1F
先看看加入0之後 向量的總長度多少(假設n) 然後建立一
12/23 11:12, 1F

12/23 11:12, 7年前 , 2F
個n的0向量 然後把原本的按位置丟進去
12/23 11:12, 2F

12/23 11:14, 7年前 , 3F
丟進去那步 可以用簡單迴圈 或是你可以試試看arrayfun
12/23 11:14, 3F

12/23 11:14, 7年前 , 4F
或是bsxfun之類的函數
12/23 11:14, 4F

12/23 13:19, 7年前 , 5F
我就是卡在迴圈那個步驟 我的想法是用 n=1
12/23 13:19, 5F

12/23 13:20, 7年前 , 6F
For I=1:90000
12/23 13:20, 6F

12/23 13:22, 7年前 , 7F
y(1,i+n+1)=y(1,i+n)
12/23 13:22, 7F

12/23 13:26, 7年前 , 8F
可是好像不能這樣用
12/23 13:26, 8F

12/23 14:13, 7年前 , 9F
設原矩陣A, B=reshape(A,2,30000);
12/23 14:13, 9F

12/23 14:14, 7年前 , 10F
C=[B(:,1);zeros(1,30000);B(:,2)];D=reshape(C,1,90000)
12/23 14:14, 10F

12/23 14:16, 7年前 , 11F
C打錯 C=[B(1,:);zeros(1,30000);B(2,:)];
12/23 14:16, 11F

12/23 14:24, 7年前 , 12F
B=[A;zeros(size(A))]; C=B(1:end-1).'; 你是要這樣嗎?
12/23 14:24, 12F

12/23 14:24, 7年前 , 13F
兩兩之間插入0 最後C總共長度是2*60000-1
12/23 14:24, 13F

12/23 14:25, 7年前 , 14F
阿 上面用C=B(1:end-1)就好了 不用.'
12/23 14:25, 14F

12/23 14:30, 7年前 , 15F
我本來覺得是樓上那樣 但看原po推文的90000我猜是我那樣
12/23 14:30, 15F

12/23 16:15, 7年前 , 16F
抱歉表達有點不清楚 意思是 假設原本元素是123456
12/23 16:15, 16F

12/23 16:15, 7年前 , 17F
改成102304506
12/23 16:15, 17F

12/23 16:15, 7年前 , 18F
謝謝各位 我晚上回去試試
12/23 16:15, 18F

12/23 18:02, 7年前 , 19F
那就是ejialan大的才對
12/23 18:02, 19F

12/24 18:20, 7年前 , 20F
已解決謝謝各位
12/24 18:20, 20F
文章代碼(AID): #1QFRjYx_ (MATLAB)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
2
20
文章代碼(AID): #1QFRjYx_ (MATLAB)