python中空矩阵赋值复数

Python016

python中空矩阵赋值复数,第1张

问题出在 C=[[0]*n]*m 假若n=2 m=2 C=[[0,0],[0,0]] 用id函数查看C[0]和C[1]的id值是一样的。在内存中享有共同的区域,导致 列黏在一起。 列表* m的方式起始应该属于浅复制,得到的列表 在内存中占同一空间,即id值 一样。你可以看一下浅复制和深复制 把 C=[[0]*n]*m 改为 empty_like(A) 就可以啦

1.numpy的导入和使用

data1=mat(zeros((

)))

#创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3)

data2=mat(ones((

)))

#创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int

data3=mat(random.rand(

))

#这里的random模块使用的是numpy中的random模块,random.rand(2,2)创建的是一个二维数组,需要将其转换成#matrix

data4=mat(random.randint(

10

,size=(

)))

#生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界则可以多加一个参数

data5=mat(random.randint(

,size=(

))

#产生一个2-8之间的随机整数矩阵

data6=mat(eye(

,dtype=

int

))

#产生一个2*2的对角矩阵

a1=[

]a2=mat(diag(a1))

#生成一个对角线为1、2、3的对角矩阵

使用python表示矩阵的方法:

使用“import numpy”语句导入numpy包。用numpy包的array函数创建一个二维数组,这个二维数组就表示矩阵

示例代码如下:

执行结果如下: