Reshape 读取和摆放顺序: Matlab VS Python
- Matlab读取:列优先(高维矩阵:靠前的维度优先)
>> b = [1,2;3,4];
>> reshape(b,1,4)
ans =
1 3 2 4
- Matalb填充:列优先(高维矩阵:靠前的维度优先)
>> b = [1 2 3 4]
b =
1 2 3 4
>> reshape(b,2,2)
ans =
1 3
2 4
- Python读取:行优先(高维矩阵:靠后的维度优先)
import numpy as np
a = np.array([[1,2],[3,4]])
b = np.reshape(a,(1,4))
print(b)
[[1 2 3 4]]
- Python填充:行优先(高维矩阵:靠后的维度优先)
import numpy as np
a = np.array([1,2,3,4])
b = np.reshape(a,(2,2))
print(b)
[[1 2]
[3 4]]
这都是默认情况,Python通过传参'C' or 'F'
还是能改变顺序的。
值得一提的是,对于Matlab,没有传参改变填充顺序的机会,只能通过矩阵转置来处理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)