как мне заполнить записи этой матрицы в R? - PullRequest
2 голосов
/ 26 июля 2010

Дано:

h_i=t_(i+1)-t_i for i=1,...,n-1 where n is a positive integer.

Матрица Q представляет собой матрицу n на (n-2) с записями q_(i,j) с i=1,...,n и j=2,...n-1, заданную:

q_(j-1,j)=1/h_(j-1)
q_(j,j)=-(1/h_(j-1)+1/h_j)
q_(j+1,j)=1/h_j
q_(i,j)=0 for |i-j|>=2

Я хочу получить матрицу Q.Как мне написать программу для этой матрицы в R?Большое спасибо заранее.

1 Ответ

1 голос
/ 26 июля 2010

Если я правильно разобрался с подписчиками, думаю, это сработает:

n <- 100
t <- sort(runif(n))
h <- diff(t)
Q <- matrix(0,n,n-2)
Q[row(Q)==col(Q)-1] <- 1/h[1:(n-3)]
Q[row(Q)==col(Q)+1] <- 1/h[1:(n-2)]
diag(Q) <- c(NA,-1/h[1:(n-3)] - 1/h[2:(n-2)])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...