无法为矩阵中的条目指定值

时间:2017-08-01 04:31:44

标签: python numpy cmath

我正在尝试创建一个复杂的矩阵,并将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.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]]

我的代码出了什么问题?这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您只需要像这样对矩阵元素引用进行编码:

    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]])