如何用简便命令创建每行含4个1的交错矩阵及指定结构矩阵
生成指定结构矩阵的简便方法
一、快速生成你给出的示例矩阵
这个矩阵是12行3列,每4行对应一列全为1,其余列是0。以下是两种简便实现方式:
用Python NumPy实现
import numpy as np # 生成3x3单位矩阵,再将每一行重复4次 target_matrix = np.repeat(np.eye(3, dtype=int), 4, axis=0) print(target_matrix)
运行后会直接输出你要的矩阵结构。
用Shell命令快速生成(无需编程环境)
for col in 1 2 3; do for _ in {1..4}; do # 构造每行的0和1 printf "%s " $(printf "0 %.0s" $(seq 1 $((col-1)))) 1 $(printf "0 %.0s" $(seq 1 $((3-col)))) echo done done
直接在终端执行就能得到目标矩阵。
二、创建每行包含4个1的交错矩阵
如果是要生成每行固定有4个1、位置按规律交错的矩阵(比如连续滑动的1块),可以用以下方法:
Python NumPy实现(以10列为例)
import numpy as np total_cols = 10 # 矩阵总列数 ones_count = 4 # 每行的1的数量 total_rows = total_cols - ones_count + 1 # 对应行数 # 初始化全0矩阵 staggered_matrix = np.zeros((total_rows, total_cols), dtype=int) # 逐行设置连续的4个1 for i in range(total_rows): staggered_matrix[i, i:i+ones_count] = 1 print(staggered_matrix)
如果需要非连续的交错排列,只需调整staggered_matrix[i, ...]的索引位置即可,比如设置间隔的列索引为1。
内容的提问来源于stack exchange,提问作者Vons
相关产品推荐
相关产品推荐

