【发布时间】:2020-08-06 18:29:33
【问题描述】:
我正在尝试创建一个向量并将其嵌入到矩阵的对角线上。我用过
A = np.random.rand(10, 1)
M = np.diag(A)
我从this tutorial 和其他人认为我应该在对角线上获取 A 的元素,但我的输出只是 A 的第一个元素。这里有什么错误?
【问题讨论】:
-
将
1的值更改为4并重新运行您的代码。只有一个元素,因为它采用对角线元素 -
@bigbounty 抱歉,我早期版本的问题没有指定 n 但 n= 10。我有一个 10x1 向量,我现在想要一个 10x10 对角矩阵。您的解决方案似乎为 A 生成了一个矩阵,但我想使用 diag 从向量转到对角矩阵。
-
A只有一维,它的对角线应该是多少?或者换一种说法,它的第二个维度不包含任何内容,所以你只能得到[0,0]元素。 -
@wwii 我认为 diag 可以双向工作,即从向量到矩阵以及从矩阵到向量。也许这是不正确的?我想取 A 的 10 个元素(一个向量)并写下一个 10x10 矩阵,这些元素在对角线上,其他地方为零
标签: python arrays numpy matrix