如何在Python中通过置换向量生成指定格式的矩阵C
基于向量置换生成目标矩阵的Python实现
首先将原始向量和零矩阵转换为numpy数组(确保类型一致):
import numpy as np A = np.array([1, 2, 3, 4]) # 初始化零矩阵,指定dtype为int避免浮点型输出 C = np.zeros((4, 8), dtype=int)
根据目标矩阵的结构,逐行进行切片赋值:
- 第一行:将向量
A放置在前4个位置 - 第二行:将向量
A放置在索引2到6的位置(对应第3到第6列) - 第三行:将向量
A放置在索引4到8的位置(对应第5到第8列) - 第四行:将
A的后两位放在前2个位置,前两位放在最后2个位置
对应代码实现:
# 第一行赋值 C[0, :4] = A # 第二行赋值 C[1, 2:6] = A # 第三行赋值 C[2, 4:8] = A # 第四行赋值 C[3, :2] = A[2:] C[3, 6:] = A[:2]
执行后输出C即可得到目标矩阵:
print(C) # 输出结果: # [[1 2 3 4 0 0 0 0] # [0 0 1 2 3 4 0 0] # [0 0 0 0 1 2 3 4] # [3 4 0 0 0 0 1 2]]
内容的提问来源于stack exchange,提问作者Công Minh Đặng
相关产品推荐
相关产品推荐

