获取所有子矩阵的快速方法 A[1:mid, (mid+1):n]
Fast way to get all sub-matrices A[1:mid, (mid+1):n]
给定维度 n x n
的矩阵 A
,我的 objective 是获取所有子矩阵 A[1:mid, (mid+1):n]
并将它们转换为向量列表。这里 mid
从 1
到 n-1
.
例如,如果A = matrix(1:16, 4, 4)
,则结果将为res = list(as.vector(A[1:1,2:4]), as.vector(A[1:2,3:4]), as.vector(A[1:3,4:4]))
。 for 循环可以实现这一点,但是当 n
很大时会花费很多时间。
创建一个函数以在应用中执行此操作:
solve=function(n,x){
c(x[1:n,(n+1):dim(x)[2]])
}
sapply(1:3,solve,x=A)
给定维度 n x n
的矩阵 A
,我的 objective 是获取所有子矩阵 A[1:mid, (mid+1):n]
并将它们转换为向量列表。这里 mid
从 1
到 n-1
.
例如,如果A = matrix(1:16, 4, 4)
,则结果将为res = list(as.vector(A[1:1,2:4]), as.vector(A[1:2,3:4]), as.vector(A[1:3,4:4]))
。 for 循环可以实现这一点,但是当 n
很大时会花费很多时间。
创建一个函数以在应用中执行此操作:
solve=function(n,x){
c(x[1:n,(n+1):dim(x)[2]])
}
sapply(1:3,solve,x=A)