日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

如何生成對角矩陣?numpy.diag_python

作者:yftadyz ? 更新時間: 2022-07-04 編程語言

生成對角矩陣 numpy.diag

給定對角線上元素,我想生成對角矩陣,在網上搜了一下,竟然都是numpy.diagonal。

這個函數的作用是提取給定矩陣的對角元素,當然不是我想要的。

后來發現numpy.diag才是生成對角矩陣的函數,所以寫此文章記錄之。

import numpy as np
a=[1,2,3]
np.diag(a)
Out[4]:?
array([[1, 0, 0],
? ? ? ?[0, 2, 0],
? ? ? ?[0, 0, 3]])

numpy.diag()結構及用法||參數

numpy.diag(v,k=0) 

官方文檔

以一維數組的形式返回方陣的對角線(或非對角線)元素,或將一維數組轉換成方陣(非對角線元素為0).兩種功能角色轉變取決于輸入的v。1

更深層的見numpy.diagnal()

參數詳解

1.v:array_like.

如果v是2D數組,返回k位置的對角線。

如果v是1D數組,返回一個v作為k位置對角線的2維數組。

2.k:int, optional

對角線的位置,大于零位于對角線上面,小于零則在下面。

示例

>>> x = np.arange(9).reshape((3,3))
>>> x
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
       
>>> np.diag(x)
array([0, 4, 8])
>>> np.diag(x, k=1)
array([1, 5])
>>> np.diag(x, k=-1)
array([3, 7])
>>> np.diag(np.diag(x))
array([[0, 0, 0],
       [0, 4, 0],
       [0, 0, 8]])

原文鏈接:https://blog.csdn.net/yftadyz/article/details/108959015

欄目分類
最近更新