21、dot矩阵点积

例子:

ll = [[1,2,3],[4,5,6],[7,8,9]]ld = dot(ll,ll)

print'dot:',ld

print mat(ll)*mat(ll)

结果:

dot: [[ 30 36 42]

[ 66 81 96]

[102 126 150]]

[[ 30 36 42] [ 66 81 96] [102 126 150]]

22、eye 单元矩阵

例子:

print'eye:',eye(2)#单元矩阵

结果:

eye: [[ 1. 0.] [ 0. 1.]]

23 eig 矩阵的特征值和特征向量

例子:

A= mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])U = A*A.,hU = .eig(U)

print'hU:',hU

print lamda

结果:

hU: [[ 1. 0. 0. 0.] [ 0. 1. 0. 0.] [ 0. 0. 1. 0.] [ 0. 0. 0. 1.]] [ 5. 9. 0. 16.]

24 排序

例子:

ll=[8,0,3,6,1,0,5,3,8,9]

print (ll,=True) #降序print (ll,=False) #升序

结果:

[9, 8, 8, 6, 5, 3, 3, 1, 0, 0][0, 0, 1, 3, 3, 5, 6, 8, 8, 9]

25、.svd 奇异值分解

例子:

A=mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])U,S,VT =.svd(A)

print'U:',U

print'V:',VT

print's:',S

print'===',U*(mat(diag(S))*eye(4,5))*VT

结果:

U: [[ 0. 0. 1. 0.] [ 0. 1. 0. 0.] [ 0. 0. 0. -1.] [ 1. 0. 0. 0.]]

V: [[ 0. 1. -0. -0. -0. ] [ 0. 0. 1. -0. -0. ] [ 0. 0. -0. -0. 0.] [ 0. 0. -0. 1. -0. ] [-0. 0. -0. -0. 0. ]]

s: [ 4. 3. 2. 0. ]

=== [[ 1. 0. 0. 0. 2.] [ 0. 0. 3. 0. 0.] [ 0. 0. 0. 0. 0.] [ 0. 4. 0. 0. 0.]]

关于什么是奇异值分解,请参考奇异值分解

26、.rand

例子:

A=mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])

print A[:,1]#获取3*3个0-1之间的数字rr=.rand(3,3)

print rr

print (rr-0.5)

.0*(rr-0.5)

结果:

[[0] [0] [0] [4]]

[[ 0. 0. 0.] [ 0. 0. 0.] [ 0. 0. 0.]]

[[-0. -0. -0.] [ 0. 0. 0.] [-0. 0. -0.]]

[[-0. -0. -0.] [ 0. 0. 0.] [-0. 0. -0.]]

.rand(3,3)随机获取3*3个0-1之间的数字

27、

例子:

delta = 0.25x = (-3.0, 3.0, delta)print x

结果:

[-3. -2.75 -2.5 -2.25 -2. -1.75 -1.5 -1.25 -1. -0.75 -0.5 -0.25 0. 0.25 0.5 0.75 1. 1.25 1.5 1.75 2. 2.25 2.5 2.75]

获取指定起始位置,指定步长的一系列数。

28、()

例子:

x =[[1,0,0,0,2],[0,0,3,0,0]]print xnz=(x)

print nz

print nz[0]

   

结果:

[[1, 0, 0, 0, 2], [0, 0, 3, 0, 0]]

(array([0, 0, 1]), array([0, 4, 2]))[001]

()函数返回矩阵中非0元素的位置

nz的返回值意义如下:

第一行是所有非零数所在行值

第二行是所有非零值所在列值

29、获取指定位置的元素

例子:

A=mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]]) =A[0,:]

print

print [0]ll=mat([3,4,5])

for i in range(5):

if sum(ll==i):

print i

结果:

[[1 0 0 0 2]]

[[1 0 0 0 2]]

3 4

A[0,:]的意义是获取第0行的所有元素

if sum(ll==i):的意义是只要i存在ll矩阵中,if就是True

ll必须是mat转换的矩阵。列表好像不行。并且还是单行的矩阵。

第二个例子:

A=mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])#根据ind序列索引获取矩阵A中的数据ind=[2,1,3,0]

print A[ind,0]

结果:

[[0] [0] [0] [1]]

30、zip

例子:

ll=[1,2,3,4,5,6] #可以互换指定区域的位置print ll[3:6]+ll[0:3] #成对获取x、y的值l1=[1,2,3]l2=[4,5,6]

for x,y in zip(l1,l2):

`print x,y

结果:

[4, 5, 6, 1, 2, 3]

print ll[3:6]+ll[0:3]这行代码实现指定位置的元素进行交换。

加入IP合伙人(站长加盟) | 全面包装你的品牌,搭建一个全自动交付的网赚资源独立站 | 晴天实测8个月运营已稳定月入3W+
限时特惠:本站每日持续更新海量内部创业教程,一年会员只需98元,全站资源免费无限制下载点击查看会员权益

站长微信: qtw123cn

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注