矩阵和随机数
矩阵
创建矩阵
  
   - 
    
     
    
    
     
      #创建矩阵
     
    
- 
    
     
    
    
     
      astring = np.mat(
      "1 2 3; 4 5 6")
     
    
- 
    
     
    
    
     
      alist = [[
      1,
      2,
      3],[
      4,
      5,
      6]]
     
    
- 
    
     
    
    
     
      anplist = np.array(alist)
     
    
- 
    
     
    
    
     
      print(np.matrix(astring))
      #字符串、列表、元组、数组
     
    
- 
    
     
    
    
     
      print(np.mat(astring))
      #字符串、列表、元组、数组
     
    
- 
    
     
    
    
     
      print(np.mat(alist))
     
    
- 
    
     
    
    
     
      print(np.mat(anplist))
     
    

矩阵对象的属性

  
   - 
    
     
    
    
     
      jz=np.mat(
      '1 2 3 ; 4 5 6')
     
    
- 
    
     
    
    
     
      #矩阵的维数
     
    
- 
    
     
    
    
     
      print(np.ndim(jz))
     
    
- 
    
     
    
    
     
      print(jz.ndim)
     
    
- 
    
     
    
    
     
      #矩阵的形状
     
    
- 
    
     
    
    
     
      print(np.shape(jz))
     
    
- 
    
     
    
    
     
      print(jz.shape)
     
    
- 
    
     
    
    
     
      #矩阵的元素个数
     
    
- 
    
     
    
    
     
      print(np.size(jz))
     
    
- 
    
     
    
    
     
      print(jz.size)
     
    
- 
    
     
    
    
     
      #元素的数据类型
     
    
- 
    
     
    
    
     
      print(jz.dtype)
     
    
- 
    
     
    
    
     
      #矩阵的转置
     
    
- 
    
     
    
    
     
      print(jz.T)
     
    
- 
    
     
    
    
     
      #矩阵的求逆
     
    
- 
    
     
    
    
     
      print(jz.I)
     
    

矩阵运算
  
   - 
    
     
    
    
     
      alist1 = [[
      0,
      1],[
      2,
      3]]
     
    
- 
    
     
    
    
     
      alist2 = [[
      1,
      1],[
      2,
      0]]
     
    
- 
    
     
    
    
     
      a1=np.mat(alist1)
     
    
- 
    
     
    
    
     
      a2=np.mat(alist2)
     
    
- 
    
     
    
    
     
      print(a1*a2)
     
    

随机数模块

  
   - 
    
     
    
    
     
      #随机数模块
     
    
- 
    
     
    
    
     
      print(np.random.rand(
      2,
      3))
      #创建2*3的随机数组,取值是在[0,1)之间均匀分布的浮点数
     
    
- 
    
     
    
    
     
      print(np.random.rand())
      #参数为空返回一个数
     
    
- 
    
     
    
    
     
      print(np.random.uniform(
      1,
      5,(
      3,
      2)))
      #创建3*2的随机数组,取值是在1到5之间均匀分布的浮点数
     
    
- 
    
     
    
    
     
      print(np.random.randint(
      1,
      5,(
      3,
      2)))
      #创建3*2的随机数组,取值是在1到5之间均匀分布的整数
     
    
- 
    
     
    
    
     
      print(np.random.randn(
      2,
      3))
      #创建2*3的随机数组,符合标准正太分布
     
    
- 
    
     
    
    
     
      print(np.random.normal(
      0,
      1,(
      3,
      2)))
      #创建3*2的随机数组,符合正太分布,均值为0,方差为1
     
    

因为是随机数,使用同样的语句,所得到的结果也是不同的
  
   - 
    
     
    
    
     
      print(np.random.rand(
      2,
      3))
     
    
- 
    
     
    
    
     
      print(np.random.rand(
      2,
      3))
     
    

伪随机数:
由随机种子,根据一定的算法生成的。
随机种子:
指定随机数生成时所用算法开始的整数值。
如果使用相同的seed( )值,则每次生成的随即数都相同。
如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生 成的随机数因时间差异而不同。
设置的seed()值仅一次有效。
随机数产生的算法,和系统有关
设置随机种子
  
   - 
    
     
    
    
     
      np.random.seed(
      999)
     
    
- 
    
     
    
    
     
      print(np.random.rand(
      2,
      3))
     
    
- 
    
     
    
    
     
      np.random.seed(
      999)
     
    
- 
    
     
    
    
     
      print(np.random.rand(
      2,
      3))
     
    
- 
    
     
    
    
     
      print(np.random.rand(
      2,
      3))
     
    

打乱顺序函数
  
   - 
    
     
    
    
     
      arr = np.arange(
      10)
     
    
- 
    
     
    
    
     
      print(arr)
     
    
- 
    
     
    
    
     
      np.random.shuffle(arr)
     
    
- 
    
     
    
    
     
      print(arr)
     
    

转载:https://blog.csdn.net/qq_39397927/article/details/116068290
查看评论
					