You need to enable JavaScript to run this app. R语言实现生成满足指定取值条件的3x3矩阵所有排列列表
优惠活动
大模型
产品
解决方案
定价
更多

R语言实现生成满足指定取值条件的3x3矩阵所有排列列表

R语言生成指定规则的3x3矩阵全集实现方法

实现逻辑

  • 第一行3个元素每个有3种取值(0/1/2),总共有3^3=27种组合
  • 第二行3个元素每个有2种取值(0/1),总共有2^3=8种组合
  • 第三行固定为全0,无变化
  • 所有符合条件的矩阵总数量为27*8=216,和估算结果一致

实现代码

# 生成第一行所有可能的组合
row1_combo <- expand.grid(pos1 = 0:2, pos2 = 0:2, pos3 = 0:2)
# 生成第二行所有可能的组合
row2_combo <- expand.grid(pos1 = 0:1, pos2 = 0:1, pos3 = 0:1)
# 生成两行的全量组合
full_combo <- merge(row1_combo, row2_combo, all = TRUE)
# 初始化存储矩阵的列表
res_matrix <- vector("list", nrow(full_combo))

# 遍历生成所有矩阵
for (i in seq_len(nrow(full_combo))) {
  res_matrix[[i]] <- rbind(
    as.numeric(full_combo[i, 1:3]),
    as.numeric(full_combo[i, 4:6]),
    c(0, 0, 0)
  )
  # 清除默认行名、列名,输出格式更符合需求
  rownames(res_matrix[[i]]) <- NULL
  colnames(res_matrix[[i]]) <- NULL
}

结果验证

运行length(res_matrix)可得到返回值为216,符合预期数量。
如需查看单个矩阵,直接索引列表即可,例如:

# 查看第100个符合条件的矩阵
print(res_matrix[[100]])

内容的提问来源于stack exchange,提问作者Lapinfouraide

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 01:24:07