Python Numpy库中diag函数的使用说明

分类:知识百科 日期: 点击:0

Python Numpy库中diag函数的使用

Python Numpy库中的diag函数可以从给定的一维数组或者矩阵提取出对角线元素,或者将一维数组或者矩阵转换为对角矩阵。

import numpy as np 

# 一维数组
a = np.array([1,2,3,4])

# 从一维数组提取对角线元素
print(np.diag(a))
# 输出:array([[1, 0, 0, 0],
#               [0, 2, 0, 0],
#               [0, 0, 3, 0],
#               [0, 0, 0, 4]])

# 二维数组
b = np.array([[1,2,3],[4,5,6],[7,8,9]])

# 从二维数组提取对角线元素
print(np.diag(b))
# 输出:array([1, 5, 9])

# 一维数组转换为对角矩阵
c = np.array([1,2,3,4])

# 一维数组转换为对角矩阵
print(np.diag(c))
# 输出:array([[1, 0, 0, 0],
#               [0, 2, 0, 0],
#               [0, 0, 3, 0],
#               [0, 0, 0, 4]])

diag函数有两个参数,v和k,v表示一维数组或者矩阵,k表示对角线的偏移量,默认为0,当k为正时,表示从主对角线右上角开始提取,当k为负时,表示从主对角线左下角开始提取。

# 一维数组
d = np.array([1,2,3,4,5,6,7,8])

# 从主对角线右上角开始提取
print(np.diag(d, k=1))
# 输出:array([0, 1, 0, 0, 0, 0, 0, 0],
#               [0, 0, 2, 0, 0, 0, 0, 0],
#               [0, 0, 0, 3, 0, 0, 0, 0],
#               [0, 0, 0, 0, 4, 0, 0, 0],
#               [0, 0, 0, 0, 0, 5, 0, 0],
#               [0, 0, 0, 0, 0, 0, 6, 0],
#               [0, 0, 0, 0, 0, 0, 0, 7],
#               [0, 0, 0, 0, 0, 0, 0, 0])

# 从主对角线左下角开始提取
print(np.diag(d, k=-1))
# 输出:array([0, 0, 0, 0, 0, 0, 0, 0],
#               [1, 0, 0, 0, 0, 0, 0, 0],
#               [0, 2, 0, 0, 0, 0, 0, 0],
#               [0, 0, 3, 0, 0, 0, 0, 0],
#               [0, 0, 0, 4, 0, 0, 0, 0],
#               [0, 0, 0, 0, 5, 0, 0, 0],
#               [0, 0, 0, 0, 0, 6, 0, 0],
#               [0, 0, 0, 0, 0, 0, 7, 0])

diag函数也可以用来将一维数组转换为对角矩阵,只需将k参数设置为0即可。

  • diag函数可以从给定的一维数组或者矩阵提取出对角线元素。
  • diag函数可以将一维数组或者矩阵转换为对角矩阵。
  • diag函数有两个参数,v和k,v表示一维数组或者矩阵,k表示对角线的偏移量,默认为0。
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。