如何使用Numpy创建如下示例样式的同类型等差元素矩阵
用Numpy生成指定样式矩阵的方法
这类矩阵的规律是第i行第j列的元素值为i + j(索引从0开始),可以用以下几种简洁方法生成任意行数和列数的同类型矩阵:
方法一:利用Numpy广播机制(最简洁)
通过生成行向量和列向量,借助广播特性直接相加:
import numpy as np # 定义行数m和列数n m = 3 n = 3 row = np.arange(n) col = np.arange(m)[:, np.newaxis] matrix = row + col print(matrix)
输出:
[[0 1 2] [1 2 3] [2 3 4]]
若要生成3行4列的矩阵,只需修改参数m=3, n=4:
m = 3 n = 4 row = np.arange(n) col = np.arange(m)[:, np.newaxis] matrix = row + col print(matrix)
输出:
[[0 1 2 3] [1 2 3 4] [2 3 4 5]]
方法二:使用np.meshgrid生成网格后相加
先创建行和列的网格矩阵,再对应元素相加:
import numpy as np m = 3 n = 3 x, y = np.meshgrid(np.arange(n), np.arange(m)) matrix = x + y print(matrix)
修改m和n的数值,即可快速生成不同规模的目标矩阵。
内容的提问来源于stack exchange,提问作者VMu
相关产品推荐
相关产品推荐

