numpy 矩阵相关函数

我们 知道,矩阵在python里面用的不少,所以记载下关于矩阵的操作


numpy.zeros():可以用来构造全零矩阵

[plain]  view plain  copy
  1. >>> zeros(3)  
  2. array([ 0.,  0.,  0.])  
  3. >>> zeros((3,3))  
  4. array([[ 0.,  0.,  0.],  
  5.        [ 0.,  0.,  0.],  
  6.        [ 0.,  0.,  0.]])  

numpy.ones(): 可以用来构造全一矩阵

[plain]  view plain  copy
  1. >>> ones((3,3))  
  2. array([[ 1.,  1.,  1.],  
  3.        [ 1.,  1.,  1.],  
  4.        [ 1.,  1.,  1.]])  

numpy.eyes(): 可以用来构造单位矩阵

[plain]  view plain  copy
  1. >>> eye(3)  
  2. array([[ 1.,  0.,  0.],  
  3.        [ 0.,  1.,  0.],  
  4.        [ 0.,  0.,  1.]])  

shape 用法 配合使用

shape函数是numpy.core.fromnumeric中的函数,它的功能是查看矩阵或者数组的维数。

举例说明:

建立一个3×3的单位矩阵e, e.shape为(3,3),表示3行3列,第一维的长度为3,第二维的长度也为3

[plain]  view plain  copy
 
在CODE上查看代码片 派生到我的代码片
  1. >>> e = eye(3)  
  2. >>> e  
  3. array([[ 1.,  0.,  0.],  
  4.        [ 0.,  1.,  0.],  
  5.        [ 0.,  0.,  1.]])  
  6. >>> e.shape  
  7. (3, 3)  
[plain]  view plain  copy
  1. >>> e = eye(3)  
  2. >>> e  
  3. array([[ 1.,  0.,  0.],  
  4.        [ 0.,  1.,  0.],  
  5.        [ 0.,  0.,  1.]])  
  6. >>> e.shape  
  7. (3, 3)  
建立一个一维矩阵b, b.shape 为矩阵的长度
[plain]  view plain  copy
 
在CODE上查看代码片 派生到我的代码片
  1. >>> b =array([1,2,3,4])  
  2. >>> b.shape  
  3. (4,)  
  4. #可以简写  
  5. >>> shape([1,2,3,4])  
  6. (4,)  
  7. >>>   
[plain]  view plain  copy
  1. >>> b =array([1,2,3,4])  
  2. >>> b.shape  
  3. (4,)  
  4. #可以简写  
  5. >>> shape([1,2,3,4])  
  6. (4,)  
  7. >>>   

建立一个4×2的矩阵c, c.shape[0] 为第一维的长度,c.shape[1] 为第二维的长度。

[plain]  view plain  copy
 
在CODE上查看代码片 派生到我的代码片
  1. >>> c = array([[1,1],[1,2],[1,3],[1,4]])  
  2. >>> c.shape  
  3. (4, 2)  
  4. >>> c.shape[0]  
  5. 4  
  6. >>> c.shape[1]  
  7. 2  
[plain]  view plain  copy
  1. >>> c = array([[1,1],[1,2],[1,3],[1,4]])  
  2. >>> c.shape  
  3. (4, 2)  
  4. >>> c.shape[0]  
  5. 4  
  6. >>> c.shape[1]  
  7. 2  
一个单独的数值,返回值为空

[plain]  view plain  copy
 
在CODE上查看代码片 派生到我的代码片
  1. >>> shape(3)  
  2. ()  
[plain]  view plain  copy
  1. >>> shape(3)  
  2. () 

矩阵的乘法:

Python 中的几种矩阵乘法 np.dot, np.multiply, *

使用array时,运算符 * 用于计算数量积(点乘),函数 dot() 用于计算矢量积(叉乘).
使用matrix时,运算符 * 用于计算矢量积,函数 multiply() 用于计算数量积.

下面是使用array时:

1. 同线性代数中矩阵乘法的定义: np.dot()

np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。

2. 对应元素相乘 element-wise product: np.multiply(), 或 *

在Python中,实现对应元素相乘,有2种方式,一个是np.multiply(),另外一个是*。这两种的效果是一样的。

 

请看代码:

复制代码
 1 #!/usr/bin/env python3
 2 # -*- coding: utf-8 
 3 
 4 import numpy as np
 5 
 6 X = np.array([[1,2],[3,4]])
 7 Y = np.array([[5,6],[7,8]])
 8 
 9 a1 = np.dot(X,Y)
10 print('np.dot(X,Y)=\n',a1)
11 
12 a2 = np.multiply(X,Y)
13 print('np.multiply(X,Y)=\n',a2)
复制代码

运行结果:

1
2
3
4
5
6
7
8
9
np.dot(X,Y) =
  [[ 19  22 ]
  [ 43  50 ]]
np.multiply(X,Y) =
  [[  5  12 ]
  [ 21  32 ]]
X * Y =
  [[  5  12 ]
  [ 21  32 ]]




转载自:http://blog.csdn.net/xingchengmeng/article/details/64442935

http://blog.csdn.net/u010758410/article/details/71554224

http://www.cnblogs.com/baibaibaiyou/p/7892437.html





猜你喜欢

转载自blog.csdn.net/wwwq2386466490/article/details/79041166