簡體   English   中英

來自 NumPy 模塊的向量和矩陣

[英]Vectors and Matrices from the NumPy Module

在python中,如何編寫程序創建兩個元素為隨機數的4 * 4矩陣A和B。 然后創建一個矩陣 C 看起來像

C = ⎡A B⎤
    ⎣B A⎦

找到矩陣 C 的對角線。對角線元素將呈現在 4 * 2 矩陣中。

import numpy as np

matrix_A = np.random.randint(10, size=(4, 4))
matrix_B = np.random.randint(10, size=(4, 4))

matrix_C = np.array([[matrix_A, matrix_B], [matrix_B, matrix_A]])
d= matrix_C.diagonal()
D=d.reshape(2,4)
print(f'This is matrix C:\n{matrix_C}')
print(f'These are the diagonals of Matrix C:\n{D}')

那個工程

matrix_C = np.array([[matrix_A, matrix_B], [matrix_B, matrix_A]])

不連接矩陣,而是創建四階張量(將矩陣放在矩陣中)。 您可以通過以下方式檢查

print(matrix_C.shape)  # (2, 2, 4, 4)

要布置塊調用np.block ,那么代碼的所有其他部分都應該可以正常工作:

matrix_C = np.block([[matrix_A, matrix_B], [matrix_B, matrix_A]])
print(matrix_C.shape)  # (8, 8)
d= matrix_C.diagonal()
D=d.reshape(2,4)  # np.array([matrix_A.diagonal(), matrix_A.diagonal()])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM