我正在尝试制作一个看起来像这样的numpy数组:
[a b c ]
[ a b c ]
[ a b c ]
[ a b c ]
Run Code Online (Sandbox Code Playgroud)
所以这涉及更新主对角线和它上面的两个对角线.
这样做的有效方法是什么?
我想知道是否有一种简单的方法可以将numpy矩阵乘以标量.基本上我希望所有的值都乘以常数40.这将是一个在对角线上有40个的nxn矩阵,但我想知道是否有一个更简单的函数来用来缩放这个矩阵.或者我将如何制作与我的其他矩阵具有相同形状的矩阵并填充其对角线?
对不起,如果这看起来有点基础,但由于某种原因,我在文档中找不到这个.
我有以下二维数组
A=([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16])
Run Code Online (Sandbox Code Playgroud)
我想用数组替换主对角线
a = ([0,2,15,20])
Run Code Online (Sandbox Code Playgroud)
因此,结果必须是
A=([[0, 2, 3, 4],
[5, 2, 7, 8],
[9, 10, 15, 12],
[13, 14, 15, 20])
Run Code Online (Sandbox Code Playgroud)
我尝试使用np.diag(a,k = 0),但是它不起作用,因为np.diag()创建了一个带有数组“ a”的对角2D数组。
有没有办法用numpy做到这一点?上面的例子是最简单的例子。我希望不仅可以更改邮件对角线,还可以更改所有对角线。