如何使用矩阵的不同幂生成图

时间:2019-02-28 09:54:36

标签: r matrix plot

我有以下转换矩阵。

n <-10
A<-matrix(0,n,n)
diag(A[-1,]) <-0.5 
diag(A[,-1]) <-0.5 
A[1,n]<-0.5
A[n,1]<-0.5

如何通过产生不同的A来得到如下图并计算1-范数? enter image description here

1 个答案:

答案 0 :(得分:2)

要计算矩阵的幂,可以使用expm包或matrixcalc包:

A <- toeplitz(c(1,2,3)) # a square matrix
A
#       [,1] [,2] [,3]
# [1,]    1    2    3
# [2,]    2    1    2
# [3,]    3    2    1

library(expm)
A %^% 2
#       [,1] [,2] [,3]
# [1,]   14   10   10
# [2,]   10    9   10
# [3,]   10   10   14

library(matrixcalc)
matrix.power(A, 2)
#       [,1] [,2] [,3]
# [1,]   14   10   10
# [2,]   10    9   10
# [3,]   10   10   14

对于情节:

powers <- 0:8
Apowers <- lapply(powers, function(k) A %^% k)
norms <- sapply(Apowers, norm, type = "1")

plot(powers, norms)