【Python numpy01】直观感受和区分不同维度的向量和矩阵(利用numpy的random.randn()函数)

0. 向量和矩阵维数的定义

向量

向量的维数:向量有多少个分量
平面向量就是二维向量,x轴和y轴两个方向 (x,y)
立体空间向量是三维:长宽高三个方向 (长,宽,高)
如考成绩A(语文,数学,英语,物理,化学),总成绩由五科成绩组成,表示有五个分量

矩阵不好讲维数的定义,直接看下面的例子理解。简单来说在numpy计算中 看有几层中括号嵌套就是几维

1. 利用函数生成不同维度的数组(向量和矩阵)并输出查看

小知识:

numpy.random.randn(d0,d1,…,dn)
randn函数返回一个或一组样本,具有标准正态分布。
dn表示每个维度
返回值为指定维度的array
np.random.randn() # 当没有参数时,返回单个数据

在pycharm中输入以下代码:

import numpy as np
matrix1 = np.random.randn(1)
matrix2 = np.random.randn(1,2)
matrix3 = np.random.randn(2,2,3)
matrix4 = np.random.randn(1,1,1,1)

vector1 = np.random.randn(3)

print(matrix1)
print(matrix2)
print(matrix3)
print(matrix4)
print(vector1)

结果随机,但维度一致。简单来说看结果有几层中括号嵌套就是几维

#一维矩阵 (1)
[1.4725426]

#二维矩阵 (1,2) 一个(2)的一维矩阵
[[-2.46134723  0.06622001]]

#三维矩阵 (2,2,3) 
# 第一层[]  两个(2,3)的二维矩阵
# 第二层[]  二维矩阵中 两个(3)的一维矩阵
# 第三层[]  (3)的一维矩阵
[[[ 0.22159525 -1.1333998   0.96132319]
  [ 2.13423831  2.99672914  1.59435415]]

 [[ 2.23504496  0.66074973  0.49863458]
  [ 0.72494123  0.74874     0.0939799 ]]]
  
#四维矩阵 (1,1,1,1) 
# 第一层[]  一个(1,1,1)的三维矩阵
# 第二层[]  三维矩阵中 一个(1,1)的二维矩阵
# 第三层[]  二维矩阵中 一个(1)的一维矩阵
# 第四层[]  (1)的一维矩阵
[[[[-0.14947132]]]]

#三维向量
[ 0.29901574 -0.00784867 -0.07805302]

Guess you like

Origin blog.csdn.net/weixin_44121966/article/details/119108222