使用R语言构造元素为i+j的2×2矩阵的代码如何编写?
现有代码问题诊断
- 语法错误:代码末尾存在多余的右括号,运行时会直接触发语法报错;同时传入的数值向量包含6个元素,2×2矩阵仅需要4个元素,运行时会触发警告,出现不符合预期的元素填充逻辑。
- 逻辑错误:数值不符合
a_ij = i + j的定义,其中i为行索引、j为列索引,2×2矩阵的四个元素正确值应为:行1列1=2、行1列2=3、行2列1=3、行2列2=4。
正确实现方案
手动构造2×2矩阵
直接传入符合要求的4个元素即可:
matrix(c(2, 3, 3, 4), nrow = 2, ncol = 2, byrow = TRUE)
运行输出结果如下:
[,1] [,2] [1,] 2 3 [2,] 3 4
通用阶数实现方案
如果需要构造任意阶数的a_ij = i + j矩阵,可以用outer函数批量生成,无需手动录入元素:
# n为矩阵阶数,可按需调整 n <- 2 mat <- outer(1:n, 1:n, `+`)
内容的提问来源于stack exchange,提问作者raeyu
相关产品推荐
相关产品推荐

