布朗运动和协方差矩阵

时间:2012-02-10 18:48:06

标签: r

给出一个向量t。如何填写像

这样的矩阵
t[1] t[1] t[1] ... t[1]  
t[1] t[2] t[2] ... t[2]  
t[1] t[2] t[3] ... t[3]  
...  ...  ...  ...  ...  
t[1] t[2] t[3] ... t[n]

对应于时间t的布朗运动的协方差矩阵

2 个答案:

答案 0 :(得分:4)

这是一种方式。

t <- 11:15
m <- vapply(seq_along(t), function(i) c(t[seq_len(i)], rep(t[i], length(t)-i)), numeric(length(t)))
m
#     [,1] [,2] [,3] [,4] [,5]
#[1,]   11   11   11   11   11
#[2,]   11   12   12   12   12
#[3,]   11   12   13   13   13
#[4,]   11   12   13   14   14
#[5,]   11   12   13   14   15

您也可以使用sapply - 更短但速度更慢(您没有指定函数返回的内容):

m <- sapply(seq_along(t), function(i) c(t[seq_len(i)], rep(t[i], length(t)-i)))

答案 1 :(得分:4)

(i,j)系数的值是min(i,j):

m <- matrix( NA, nr=5, nc=5 ) # Empty matrix with the right size
m <- pmin( col(m), row(m) )