我想像下面那樣取矩陣 1 并用 1 個填充填充它,使其看起來像矩陣 2 或用 2 個填充填充它使其看起來像矩陣 3。我想不使用 np.pad( ) 或任何其他 Numpy 函式。
矩陣 1
| 4 4 |
| 7 2 |
矩陣 2 - 填充為 1
| 0 0 0 0 |
| 0 4 4 0 |
| 0 7 2 0 |
| 0 0 0 0 |
矩陣 3 - 填充為 2
| 0 0 0 0 0 0 |
| 0 0 0 0 0 0 |
| 0 0 5 1 0 0 |
| 0 0 7 1 0 0 |
| 0 0 0 0 0 0 |
| 0 0 0 0 0 0 |
uj5u.com熱心網友回復:
您可以像這樣創建自定義墊功能:
def pad(mat, padding):
dim1 = len(mat)
dim2 = len(mat[0])
# new empty matrix of the required size
new_mat = [
[0 for i in range(dim1 padding*2)]
for j in range(dim2 padding*2)
]
# "insert" original matix in the empty matrix
for i in range(dim1):
for j in range(dim2):
new_mat[i padding][j padding] = mat[i][j]
return new_mat
它可能不是最佳/最快的解決方案,但這對于常規大小的矩陣應該可以正常作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/370340.html
標籤:麻木的
上一篇:如何數值求解方程(將代碼從Matlab轉換為Python)
下一篇:我試圖創建一個3-D的numpy矩陣,但得到錯誤:TypeError:Fieldelementsmustbe2-or3-tuples,got'5'
