<
>

Python numpy中矩阵的基本用法汇总

2019-09-13 11:52:28 来源:易采站长站 作者:于丽

  tile函数位于Python模块numpy.lib.shape_base中,他的功能是重复某个数组,比如 tile(A,reps),功能是将数组A重复reps次,构成一个新的数组。

1,函数的定义与说明

  函数格式为   tile(A,reps)

  A和reps 都是array_like

  A的类型众多,几乎所有类型都可以:array  list  tuple  dict  matrix 以及基本数据类型Int string  float 以及bool类型。

  reps 的类型也很多,可以是tuple  list  dict  array int  bool  但不可以是float   string  matrix类型。

2,示例

>>> a = np.array([0, 1, 2])
 >>> np.tile(a, 2)
 array([0, 1, 2, 0, 1, 2])
 >>> np.tile(a, (2, 2))
 array([[0, 1, 2, 0, 1, 2],
  [0, 1, 2, 0, 1, 2]])
 >>> np.tile(a, (2, 1, 2))
 array([[[0, 1, 2, 0, 1, 2]],
  [[0, 1, 2, 0, 1, 2]]])
 
 >>> b = np.array([[1, 2], [3, 4]])
 >>> np.tile(b, 2)
 array([[1, 2, 1, 2],
  [3, 4, 3, 4]])
 >>> np.tile(b, (2, 1))
 array([[1, 2],
  [3, 4],
  [1, 2],
  [3, 4]])
 
 >>> c = np.array([1,2,3,4])
 >>> np.tile(c,(4,1))
 array([[1, 2, 3, 4],
  [1, 2, 3, 4],
  [1, 2, 3, 4],
  [1, 2, 3, 4]])
from numpy import *
 
code1 = tile(1,2)
print(code1)
# [1 1]
 
code2 = tile((1,2,3),3)
print(code2)
# [1 2 3 1 2 3 1 2 3]
 
a = [1,3,4]
code3 = tile(a,[2,3])
print(code3)
'''
[[1 3 4 1 3 4 1 3 4]
 [1 3 4 1 3 4 1 3 4]]
 '''

Numpy  范数的用法

顾名思义,linalg = linear + algebralinalg = linear + algebra , norm则表示范数,首先需要注意的是范数是对向量(或者矩阵)的度量,是一个标量(scalar):

np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数)

首先:help(np.linalg.norm) 查看其文档:

norm(x, ord=None, axis=None, keepdims=False)

这里我们只对常用设置进行说明,x表示要度量的向量,ord表示范数的种类,axis表示向量的计算方向,keepdims表示设置是否保持维度不变。

用法:

import numpy as np
 
a=np.array([[complex(1,-1),3],[2,complex(1,1)]]) 
print(a)
 
 
print(np.linalg.norm(a,ord=2) ) #计算矩阵2的范数
 
 
print(np.linalg.norm(a,ord=1) ) #计算矩阵1的范数
 
 
print(np.linalg.norm(a,ord=np.inf) ) #计算矩阵无穷的范数

示例:

import numpy as np
x = np.array([5,7])
np.linalg.norm(x)
8.602325267042627
np.linalg.norm(x,ord=2)
8.602325267042627
np.linalg.norm(x,ord=1)
12.0
np.linalg.norm(x,ord=np.inf)
7.0

范数理论告诉我们,一范数 >=  二范数  >=  无穷范数

参考文献:https://www.jb51.net/article/124939.htm

https://www.jb51.net/article/156112.htm

暂时禁止评论

微信扫一扫

易采站长站微信账号