在R中运行矩阵求逆函数时出错

时间:2016-08-03 07:28:09

标签: r function matrix inversion

我试图使用两组函数反转矩阵: - 代码是: - (评论描述了这个过程)

##此函数创建一个特殊的“矩阵”对象,可以缓存其反转。

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

有关如何解决此问题的任何想法?因为它对我没有意义。

0 个答案:

没有答案