MATLAB 以及numpy工具包中的reshape函数用法总结
2019-03-06 17:39
405 查看
MATLAB中reshape函数的使用方法
- 将数组重构为矩阵
将一个大小为10的数组重构为一个2行5列的矩阵
>>A = 1:10 >>B = reshape(A,[2,5])
B =
1 3 5 7 9 2 4 6 8 10
- 将矩阵重构为具有指定行数或列数的矩阵
将一个4*4的矩阵重构成一个2行的矩阵,列数这里我们用[]代替,matlab会帮我们自动计算
>>A = [1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]%四行四列的矩阵 >>B = reshape(A,2,[])
A =
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
B =
1 9 2 10 3 11 4 12 5 13 6 14 7 15 8 16
需要注意的是这里的重构的顺序是按列来的,即从第一列开始往下数,然后新的矩阵也是从第一列往下排,再从上往下填充下一列,直到填满
numpy中reshape函数的使用
numpy.reshape:函数功能:给予数组一个新的形状,而不改变它的数据,新的数组的元素个数应该和原来的数组要相等,如果哪一维的维数不确定,填上-1函数会根据其他已知维的维数自动计算。
reshape(a,newshape,order = 'C') ''' parameters a: 需要被reshape的数组 newshape: 整数值或整数元组。新的形状应该兼容于原始形状。如果是一个整数值,表示一个一维数组的长度;如果是元 组,表示新数组的行和列数,一个元素值可以为-1,此时该元素值表示为指定,此时会从数组的长度和剩余的维度中推断出 order: 可选(忽略) 返回: 一个新形状的数组 '''
import numpy as np z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]) z1 = z.reshape((2,-1)) #这里的-1表示我们只想让行数为2,列数让函数自动计算 z2 = np.reshape(z,(-1,2)) print('z1 = '+ z1) print('z2 = '+ z2)
输出
z1 = [[ 1 2 3 4 5 6 7 8] [ 9 10 11 12 13 14 15 16]] z2 = [[ 1 2] [ 3 4] [ 5 6] [ 7 8] [ 9 10] [11 12] [13 14] [15 16]]
相关文章推荐
- 牛人总结python中string模块各属性以及函数的用法,果断转了,好东西
- 牛人总结python中string模块各属性以及函数的用法,果断转了,好东西
- Python中Numpy的tile函数用法以及operator.itemgetter函数和sorted函数
- numpy中一些常用函数的用法总结
- numpy中一些常用函数的用法总结
- 总结整理Matlab的plot函数用法
- matlab中svd函数用法总结
- Matlab find()函数用法总结
- 总结整理Matlab的plot函数用法
- matlab曲线拟合 函数 用法以及例子
- MATLAB 归一化 函数用法以及实例
- Matlab中的randperm和randsample函数用法总结
- matlab中zeros 和 ones 这两个函数的用法以及size的用法,princomp,pcacov,pcares,barttest四大分析函数用法
- matlab中pwelch函数用法总结
- matlab中svd函数用法总结
- Matlab中fminunc函数的意义以及options函数的初级用法。
- np.random.random()函数 参数用法以及numpy.random系列函数大全
- assert()断言函数以及NODEBUG用法总结
- Windows API函数之PlaySound函数以及sndPlaySound函数用法总结
- Windows API函数之PlaySound函数以及sndPlaySound函数用法总结