急問~請問怎麼不用迴圈移動矩陣的值

作者: vu04y94 (今)   2017-08-10 22:02:34
A是一個二維矩陣
A(i,j)都要移動到 B(i+30,j+30) 也就是往右下移動
用雙層迴圈跑就
B(i+30,j+30) = A[i,j] 先不用管超出邊界的問題
我知道如果A是一維矩陣 每個元素要往右移動30格
在python可以寫B[np.arrange(A.size)+30] = A[np.arrange(A.size)]
但變成二維有兩個變數 不知道要怎麼辦
A[:] <- 這種寫法沒有ij變數 就不能拿來+30
不用迴圈應該要怎麼寫 還請前輩開示m(_ _)m
作者: CaptainH (Cannon)   2017-08-10 22:40:00
B[30:,30:]=A基本的slicing還是要練一下
作者: vu04y94 (今)   2017-08-10 22:55:00
可以說明像這樣的slicing內部是怎麼達成的嗎?我應該說清楚一點 實際上是每個點都要根據指定的向量移動 不是都往同個方向
作者: EGsux (天龍人)   2017-08-11 02:40:00
http://i.imgur.com/ZDsUUVG.jpghttp://i.imgur.com/SCmamKA.jpg你就跟著樓上的 code 試一下。。C=5

Links booklink

Contact Us: admin [ a t ] ucptt.com