Python如何从矩阵中读写单个元素的值

您所在的位置:网站首页 Python打印矩阵元素 Python如何从矩阵中读写单个元素的值

Python如何从矩阵中读写单个元素的值

2024-07-09 14:59| 来源: 网络整理| 查看: 265

简而言之,比如有个ARR1 是array类型,ARR2=matrix(ARR1) 语句处理过的矩阵ARR2 是不能直接就单个元素进行读写的,可以使用ARR3=array(ARR2) 语句将其转换为array类型,然后就可以读写ARR3中的单个元素了,读写完毕之后,可以使用ARR1=matrix(ARR3) 再转换回来即可。

为了给矩阵某一个元素的值进行提取,我从网上找过一些办法,但都不是很全面,经过学习试验发现如下规律:

1.一个矩阵如果用列举的方法赋值(比如用numpy.eye()赋值),那么可以用如下方法进行单个元素的读写: 先是取值

>>> from numpy import * >>> k1=eye(7) >>> j=k1[1][2] >>> j 0.0

再就是给矩阵里的元素赋值:

>>> from numpy import * >>> k1=eye(7) >>> k1[6][2]=3 >>> k1 array([[1., 0., 0., 0., 0., 0., 0.], [0., 1., 0., 0., 0., 0., 0.], [0., 0., 1., 0., 0., 0., 0.], [0., 0., 0., 1., 0., 0., 0.], [0., 0., 0., 0., 1., 0., 0.], [0., 0., 0., 0., 0., 1., 0.], [0., 0., 3., 0., 0., 0., 1.]]) >>>

2.然而当上述矩阵或者数组使用过mat命令或者matrix命令进行修改以后,制作出来的矩阵就不允许这种赋值了。 只能间接就某个矩阵元素进行赋值: 我选择用array来进行,效果比较好。

>>> from numpy import * >>> k1=eye(3) >>> k2=matrix(k1) #这时候k2里的元素就不能直接被修改了,比如k2[2][2]=3不可以 >>> k3=array(k2) #经过array(k2)这个操作之后,开k3里的单元素就可以被直接读写了。 >>> k1[1][2]=3 >>> y=k3[2][2] >>> print (y) 1.0 >>> for i in k1: ... print(i) ... [1. 0. 0.] [0. 1. 3.] [0. 0. 1.] >>> for i in k2: ... print(i) ... [[1. 0. 0.]] [[0. 1. 0.]] [[0. 0. 1.]] >>> for i in k3: ... print(i) ... [1. 0. 0.] [0. 1. 0.] [0. 0. 1.] >>>

如果需要,用array函数读写完毕以后,可以再用matrix函数让它恢复矩阵类型。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3