Matlab生成矩形单位矩阵的eye函数对应的Python等效方法
Python 实现矩形单位矩阵的等效方法
Python 生态中做数值计算最常用的 NumPy 库,提供了和 Matlab eye(m,n) 完全对齐的实现:
- 首选方案:直接调用
numpy.eye(),该方法原生支持传入两个维度参数,用法和输出结果和 Matlab 版本完全一致:
import numpy as np # 等效于 Matlab 中的 eye(2, 3) rect_identity = np.eye(2, 3)
运行后得到的是2行3列的矩阵,主对角线元素为1,其余位置全部为0,和 Matlab 输出完全匹配。如果需要调整对角线的偏移位置,还可以传入第三个参数 k,比如 np.eye(2, 3, k=1) 对应 Matlab 中的 eye(2, 3, 1),实现对角线向上偏移1位的效果。
- 备选方案:如果你的使用场景限制只能用生成方阵的
numpy.identity(),也可以通过切片实现,不过灵活度更低,不如前者方便:
import numpy as np rect_identity = np.identity(3)[:2, :]
内容的提问来源于stack exchange,提问作者Daryl
相关产品推荐
相关产品推荐

