在numpy中构造array数据时,尽量不要用np.array([1,2,3])这种,这种格式代表是一个数组,既不是行向量,也不是列向量,麻烦但必要的做法是:np.array([[1,2,3]])代表行向量,np.array([[1],[2],[3]])代表列向量。
a[:,0]与a[:,[0]]、a[:,0:1]的不同,如下图:
总结matlab和numpy中对应的运算函数
matlab | python | 备注 |
[a b;c d] | np.vstack([hstack([a,b]),hstack([c,d])]) np.bmat('a,b;c,d') 返回的是matrix np.block([[a,b],[c,d]]) 返回的是ndarray | 将块矩阵组成一个新的矩阵 |
size(a) size(a,n) | shape(a) or a.shape a.shape[n-1] | 得到矩阵的‘size’,如3*4的矩阵的size为(3,4) 得到第n维的元素个数 |
ndims(a) | ndim(a) or a.ndim | 得到数组的维数 |
numel(a) | size(a) or a.size | 得到数组的元素总数 |