数组,向量和矩阵以及空间的维数

1、Python列表和Numpy数组的区别:

此处参考了 https://blog.csdn.net/wyl1813240346/article/details/79806207
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。使用Python列表可以存储一维数组,通过列表的嵌套可以实现多维数组,那么为什么还需要使用Numpy呢?Numpy是专门针对数组的操作和运算进行了设计,所以数组的存储效率和输入输出性能远优于Python中的嵌套列表,数组越大,Numpy的优势就越明显。通常Numpy数组中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的,所以在通用性能方面Numpy数组不及Python列表,但在科学计算中,可以省掉很多循环语句,代码使用方面比Python列表简单的多。

2、Numpy数组和矩阵的区别:

  1. Numpy matrices必须是2维的,但是 numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。
  2. 在numpy中matrix的主要优势是:相对简单的乘法运算符号。例如,a和b是两个matrices,那么a*b,就是矩阵积。
  3. matrix 和 array 都可以通过objects后面加.T 得到其转置。但是 matrix objects 还可以在后面加 .H f得到共轭矩阵, 加 .I 得到逆矩阵。
  4. 相反的是在numpy里面arrays遵从逐个元素的运算,所以array:c 和d的c*d运算相当于matlab里面的c.*d运算。而矩阵相乘,则需要numpy里面的dot命令 。

3、matlab关于矩阵的维数的解释

a =
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
就上面这样一个矩阵而言,它有3行5列
第一维:行维,即行向,也即垂直方向,维数为3,就矩阵a而言
第二维:列维,即列向,也即水平方向,维数为5
第三维:页,类似课本的一页一页,每一页是个平面,可以放一个类似a的二维矩阵
第四维:没有其他名字了,就是一个抽象的概念
第五维:类似第四维,
。。
假设我利用ones函数得到一个矩阵
b=ones(4,5,3);
那么这个4就对应矩阵第一维的维数,如上所言,就是说b有4行
同理5就是说有5列,3就是说有3页

用法:zeros(shape, dtype=float, order=‘C’)
返回:返回来一个给定形状和类型的用0填充的数组;
参数:shape:形状
   dtype:数据类型,可选参数,默认numpy.float64
   dtype类型:t ,位域,如t4代表4位
    b,布尔值,true or false  
   i,整数,如i8(64位)
   u,无符号整数,u8(64位)
   f,浮点数,f8(64位)
   c,浮点负数,
   o,对象,
   s,a,字符串,s24
   u,unicode,u24
   order:可选参数,
   c代表与c语言类似,行优先;
   F代表列优先
   例子:

np.zeros(5) 
array([ 0.,  0.,  0.,  0.,  0.]) 

np.zeros((5,), dtype=np.int)
array([0, 0, 0, 0, 0])

np.zeros((2, 1))
array([[ 0.],
       [ 0.]])
       
s = (2,2)
np.zeros(s)
array([[ 0.,  0.],
       [ 0.,  0.]])
       
np.zeros((2,), dtype=[('x', 'i4'), ('y', 'i4')]) # custom dtype
array([(0, 0), (0, 0)], dtype=[('x', '<i4'), ('y', '<i4')])
     

1维数组叫矢量,2维组叫矩阵,3维及大于3维的数组就叫多维数组


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值