python 矩阵元素如何表示_Python如何从矩阵中读写单个元素的值

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

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

先是取值

>>> from numpy import *

>>> k1=eye(7)

>>> j=k1[1][2]

>>> j

0.01

2

3

4

5

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

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

>>>1

2

3

4

5

6

7

8

9

10

11

12

13

2.然而当上述矩阵或者数组使用过mat命令或者matrix命令进行修改以后,制作出来的矩阵就不允许这种赋值了。

只能间接就某个矩阵元素进行赋值:

我选择用array来进行,效果比较好。

>>> from numpy import *

>>> k1=eye(3)

>>> k2=matrix(k1)

>>> k3=array(k2)

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

>>>1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值