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

R语言矩阵编程求助:实现双2x2矩阵四则运算交互程序

嘿,这题我熟!刚好帮你写了一个完整的R程序,完美匹配你的需求——从用户手里获取两个2x2矩阵的数值,选择运算类型,最后输出清晰的运算记录。直接看代码吧:

# 第一步:获取用户输入的两个2x2矩阵
cat("请输入第一个2x2矩阵的4个数值(空格分隔):\n")
mat1_values <- scan(nmax = 4)
mat1 <- matrix(mat1_values, nrow = 2, ncol = 2, byrow = TRUE)

cat("\n请输入第二个2x2矩阵的4个数值(空格分隔):\n")
mat2_values <- scan(nmax = 4)
mat2 <- matrix(mat2_values, nrow = 2, ncol = 2, byrow = TRUE)

# 第二步:让用户选择运算类型
cat("\n请选择要执行的运算:\n")
cat("1. 加法\n2. 减法\n3. 矩阵乘法\n4. 元素-wise除法\n")
operation_choice <- as.integer(readline(prompt = "输入选项编号(1-4):"))

# 第三步:执行运算并生成结果
result <- NULL
operation_name <- ""

switch(operation_choice,
       {result <- mat1 + mat2; operation_name <- "加法"},
       {result <- mat1 - mat2; operation_name <- "减法"},
       {result <- mat1 %*% mat2; operation_name <- "矩阵乘法"},
       {result <- mat1 / mat2; operation_name <- "元素-wise除法"}
)

# 第四步:输出完整运算记录
cat("\n==================== 运算记录 ====================\n")
cat("第一个矩阵:\n")
print(mat1)
cat("\n第二个矩阵:\n")
print(mat2)
cat("\n执行运算:", operation_name, "\n")
cat("\n运算结果:\n")
print(result)
cat("=================================================\n")

代码细节说明:

  • 用scan()获取用户输入的数值,matrix()把一维向量转成2x2矩阵,byrow=TRUE让输入的数值按行填充,符合日常输入习惯。
  • 用readline()获取运算选择,switch()根据选择执行对应运算——这里特意区分了矩阵乘法(用%*%,线性代数标准矩阵乘法)和元素-wise除法(用/,每个位置元素对应相除),你可以根据需求调整。
  • 最后用cat()和print()配合输出清晰的运算记录,格式和你要的示例风格一致。

测试示例效果:

比如输入第一个矩阵1 2 3 4,第二个矩阵5 6 7 8,选择加法,程序会输出:

==================== 运算记录 ====================
第一个矩阵:
     [,1] [,2]
[1,]    1    2
[2,]    3    4

第二个矩阵:
     [,1] [,2]
[1,]    5    6
[2,]    7    8

执行运算: 加法 

运算结果:
     [,1] [,2]
[1,]    6    8
[2,]   10   12
=================================================

如果有哪里需要调整(比如改成矩阵逆除法,或者调整输出格式),直接改对应部分就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:05:36