首页 > 解决方案 > 使用函数代码产生一个×n矩阵

问题描述

在此处输入图像描述 为了生成图中的矩阵,我尝试编写一个函数代码来执行此操作,但我不知道下一步该做什么,也不确定我已经做的是否正确。

Matrix <- function(n){
  mat1 <- diag(x = ((1:n)-1)/((1:n)+1), n, n)[-1,]
  mat2 <- diag(x = ((1:n)-(1:n)+1)/((1:n)+1), n, n)[,-1]
  mat3 <- diag(x = 1/((1:n)+1), n, n)
}

标签: rfunctionmatrix

解决方案


一个选项:

library(SoDA)

n <- 4
triDiag(diagonal = rep(1/(n+1), n+1), 
        upper = (n:1)/(n+1), 
        lower = (1:n)/(n+1))
#       [,1] [,2] [,3] [,4] [,5]
# [1,]  0.2  0.8  0.0  0.0  0.0
# [2,]  0.2  0.2  0.6  0.0  0.0
# [3,]  0.0  0.4  0.2  0.4  0.0
# [4,]  0.0  0.0  0.6  0.2  0.2
# [5,]  0.0  0.0  0.0  0.8  0.2

推荐阅读