python diag函數(shù)的參數(shù)有哪些

小樊
83
2024-09-06 15:10:19

Python中的diag函數(shù)是NumPy庫(kù)中的一個(gè)函數(shù),用于從給定的二維數(shù)組中提取對(duì)角線元素,或者創(chuàng)建一個(gè)新的二維數(shù)組,其對(duì)角線元素為給定的一維數(shù)組

  1. v:輸入的一維數(shù)組。如果未提供此參數(shù),則返回一個(gè)單位矩陣。
  2. k:可選參數(shù),表示要提取或創(chuàng)建的對(duì)角線的偏移量。默認(rèn)值為0,表示主對(duì)角線。正值表示上對(duì)角線,負(fù)值表示下對(duì)角線。

示例:

import numpy as np

# 創(chuàng)建一個(gè)二維數(shù)組
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 提取主對(duì)角線元素
main_diag = np.diag(a)
print("Main diagonal:", main_diag)

# 提取上對(duì)角線元素(k=1)
upper_diag = np.diag(a, k=1)
print("Upper diagonal:", upper_diag)

# 提取下對(duì)角線元素(k=-1)
lower_diag = np.diag(a, k=-1)
print("Lower diagonal:", lower_diag)

# 使用一維數(shù)組創(chuàng)建一個(gè)新的二維數(shù)組,其對(duì)角線元素為給定的一維數(shù)組
b = np.diag([1, 2, 3])
print("New array with diagonal elements:")
print(b)

輸出:

Main diagonal: [1 5 9]
Upper diagonal: [2 6]
Lower diagonal: [4 8]
New array with diagonal elements:
[[1 0 0]
 [0 2 0]
 [0 0 3]]

0