披露:這是從Coursera場編程分配簡稱R編程返回從一個高速緩存的對象的逆矩陣中的R
分配是關於,可能需要很長的計算時間詞法作用域和高速緩存功能。具體而言,我使用solve()
來查找矩陣的逆並使用自由浮動變量對其進行緩存。我正在返回一個錯誤,如下所述。
首先,我存儲在一個函數的變量a<-makeCacheMatrix()
然後我跑a$set(matrix(1:4,2,2)
存儲矩陣
當我運行cacheSolve(a)
我得到Error in as.vector(x, mode) : cannot coerce type 'closure' to vector of type 'any'
從我的理解我懷疑,我可能會傳遞一個原子矢量時它需要一個矩陣,但我不知道如何解決
我的代碼:
makeCacheMatrix <- function(x = matrix()) {
m<-NULL
set<-function(y){
x<<-y
m<<-NULL
}
get<-function() x
setmatrix<-function(solve) m<<- solve
getmatrix<-function() m
list(set=set, get=get,
setmatrix=setmatrix,
getmatrix=getmatrix)
}
cacheSolve <- function(x=matrix(), ...) {
m<-x$getmatrix()
if(!is.null(m)){
message("getting cached data")
return(m)
}
matrix<-x$get
m<-solve(matrix, ...)
x$setmatrix(m)
m
}
看看在cacheMatrix函數定義
。你實際傳遞給該函數的對象是什麼?什麼爲cacheMatrix創建了這個參數?它是矩陣嗎? – bwalter