作者embed (昵称是我)
看板Statistics
标题[问题] R中的非调和阵列
时间Thu Oct 30 17:25:21 2008
自己写了一个双重回圈
程式码如下(A是一个5*5方阵)
orthonormal <- function(A){
W <- matrix(nrow=5, ncol=5)
V <- diag(x=1, nrow=5)
for (i in 1:dim(V)[1]){
for (j in 1:i-1){
V[,i] <- A[,i] - (prod(V[,j],A[,i])/norm2(V[,j]))*V[,j]
} }
W <- V
show(W)
}
但是执行的结果却显示"错误在prod(V[, j], A[, i])/norm2(V[, j]) : 非调和阵列"
却不知道怎麽下手解决...
依照平常计算gram-shmidt的公式 这样子的表达式是可以理解的
究竟该怎麽解决非调和阵列的问题?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.234
1F:推 bugle:当i=1时.... 10/30 22:00
2F:→ clickhere:Gram-Schmidt 用的应该是 V[,j] %*% A[,i] 而非 prod 10/31 01:07