как создать сюжет с использованием разных степеней матрицы - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть следующая матрица переходов.

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

Как получить график, подобный приведенному ниже, производя различные степени А и вычисляя 1-нормы?enter image description here

1 Ответ

0 голосов
/ 28 февраля 2019

Для расчета мощности матрицы вы можете использовать пакет 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...