You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建对角线为rep(1,6)向量的390×2340矩阵?

实现390×2340矩阵的对角线区域填充

你可以用R语言快速实现这个需求,核心思路是给每行对应的连续6列赋值1,具体有两种实现方式:

方法一:向量化操作(高效推荐)

这种方式避免循环,利用R的向量索引特性直接赋值,处理大矩阵时效率更高:

# 初始化全0矩阵
mat <- matrix(0, nrow = 390, ncol = 2340)

# 生成行和列的索引对:每行对应连续6列
rows <- rep(1:390, each = 6)
cols <- 1:2340

# 给对应位置赋值1
mat[cbind(rows, cols)] <- 1

方法二:循环赋值(直观易懂)

如果更看重代码的可读性,也可以用循环逐行处理:

mat <- matrix(0, nrow = 390, ncol = 2340)

for (i in 1:390) {
  # 计算当前行需要填充1的起始和结束列
  start_col <- 6*(i-1) + 1
  end_col <- 6*i
  mat[i, start_col:end_col] <- 1
}

验证结果:第一行的前6列均为1,第二行的第7到12列均为1,完全符合你给出的示例效果。

内容的提问来源于stack exchange,提问作者marco.23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 18:49:55