我相乘這裏創建矩陣...矩陣乘數%*%的誤差
CreateMatrix <- function(frame,env){
M = matrix(c(frame$EE[env],0,0,frame$Fe[env],
frame$EL[env],frame$LL[env],0,0,
0,frame$LP[env],frame$PP[env],0,
0,0,frame$PA[env],frame$AA[env]),
nrow=4,byrow=T)
return(M)
}
Models = list()
for (i in seq(0,16)){
newModel <- CreateMatrix(Total,i)
Models[[i+1]] <- newModel
}
其中, 「合計」 是一個數據幀
...遞歸以下功能:
GrowthSeq <- function(matrix, t,P0){
M0 = matrix(c(132,0,0,0),nrow=4)
time = seq(0,t,1)
G = matrix
M = matrix(0,nrow=nrow(G),ncol=length(time))
rownames(M)=c("Eggs","Larvae","Pupae","Adults")
M[,1]= M0
print(is.matrix(G))
print(is.matrix(M))
for (d in 2:length(time)){
print(is.matrix(t(M[,d-1])))
M[,d]<-G%*%t(M[,d-1])
}
return(M)
}
g <- GrowthSeq(Models[[1]],100,500)
導致
[1] TRUE
[1] TRUE
[1] TRUE
Error in G %*% M[, d - 1] :
requires numeric/complex matrix/vector argument
我不明白這兩個向量我都是矩陣,但是這個錯誤仍然存在。爲什麼我試圖將矩陣M和G相乘無效?
請注意,你的代碼一般是對我們沒用,因爲正在創建 – Ell