我试图使用两组函数反转矩阵: - 代码是: - (评论描述了这个过程)
##此函数创建一个特殊的“矩阵”对象,可以缓存其反转。
makeCacheMatrix <- function(x = matrix()) {
m <- NULL
set <- function(y){
x <<- y
m <<- NULL
}
get <- function() x
##solve function returns the inverse.
setInverse <- function(solve) m <<- solve
getInverse <- function() m
list(set = set, get = get, setInverse = setInverse, getInverse)}
此函数计算上面makeCacheMatrix返回的特殊“矩阵”的反转。如果已经计算了逆(并且矩阵没有改变),那么cacheSolve应该从缓存中检索逆。
cacheSolve <- function(x, ...) {
m <- x$getInverse()
if(!is.null(m)){
message("HEY HEY")
return(m)
}
data <- x$get()
m <- solve(data, ...)
x$setInverse(m)
m }
我试图在矩阵a上运行它,定义为a<-diag(2,2)
然后,1)cm<-makeCachedMatrix
,最后2)cacheSolve(cm)
。
但是对于数字2执行number1步骤时会出现错误: -
Error in cacheSolve(CachedMatrix) : attempt to apply non-function
有关如何解决此问题的任何想法?因为它对我没有意义。