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













闽公网安备 35020302000061号