[問題] 依照序號抓數字(矩陣版)已回收

看板MATLAB作者 (何じゃこりゃ!)時間15年前 (2010/05/05 11:16), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/4 (看更多)
例: A = [ 5 1 9 8 3 ]; i1 = [ 2 3 1 4 5 ]; 所以 A(i1) = [ 1 9 5 8 3 ] 問題: A = [ 2 1 5 7 3 9 7 3 5 1 7 5 2 9 0 ]; i1 = [ 1 3 2 4 5 5 3 4 1 2 1 2 4 3 5 ]; 欲同上例 A(i1) = [ 2 5 1 7 3 %(以下這三行是錯的) 1 3 5 9 7 7 5 9 2 0 ] 請問該怎麼做,才能依照i1矩陣內的index依列抓取呢?謝謝好心人士的回答! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.42.220

05/05 14:50, , 1F
P=[0:5:(3-1)*5]'*ones(1,5);i2=i1+P;A(i2)
05/05 14:50, 1F

05/05 16:11, , 2F
第二行應該是[5,1,7,3,9]...
05/05 16:11, 2F

05/05 16:13, , 3F
1f少一個A=A', 但是結果第二行還是錯誤...
05/05 16:13, 3F

05/05 22:38, , 4F
樓上是對的,我弄錯記憶位置了,試試看下面的方法:
05/05 22:38, 4F

05/05 22:41, , 5F
P=[0:5:(3-1)*5]'*ones(1,5);i2=i1+P;B=A';B(i2)
05/05 22:41, 5F

05/05 22:42, , 6F
不過底下幾篇有更好的寫法了。
05/05 22:42, 6F

05/06 18:18, , 7F
對不起,我發問之後就忘了回來看,謝謝你們的解答!
05/06 18:18, 7F
文章代碼(AID): #1BuEC0QE (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1BuEC0QE (MATLAB)