无法为矩阵中的条目赋值
Unable to assign values to entries in matrices
我正在尝试创建一个复数矩阵并将 0,0 条目分配给 1+0j 的值。这是我写的代码:
import numpy as n
import cmath
M=n.zeros((5,5),dtype=complex)
M[0:0]=1+0j
print M
但是执行后,0,0条目还是0:
[[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]]
我的代码有什么问题?正确的做法是什么?
您只需像这样编写您的矩阵元素参考代码:
M[0,0]=1+0j
语法 M[0:0] 表示第一个子列表到第一个子列表之前,即一个空元素。尝试评估 M[0:1]
>>>> M[0:1]
array([[ 1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j]])
我正在尝试创建一个复数矩阵并将 0,0 条目分配给 1+0j 的值。这是我写的代码:
import numpy as n
import cmath
M=n.zeros((5,5),dtype=complex)
M[0:0]=1+0j
print M
但是执行后,0,0条目还是0:
[[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]]
我的代码有什么问题?正确的做法是什么?
您只需像这样编写您的矩阵元素参考代码:
M[0,0]=1+0j
语法 M[0:0] 表示第一个子列表到第一个子列表之前,即一个空元素。尝试评估 M[0:1]
>>>> M[0:1]
array([[ 1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j]])