forked from rdpeng/ProgrammingAssignment2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcachematrix.R
More file actions
33 lines (27 loc) · 1 KB
/
cachematrix.R
File metadata and controls
33 lines (27 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
## makeCacheMatrix creates a special "matrix" object that can cache its inverse.
makeCacheMatrix <- function(x = matrix()) {
i <- NULL
set <- function(y) { ##redefines matrix "x" and overwrites the "temp" value in the parent environment
x <<- y
i <<- NULL
}
get <- function() x
setinverse <- function(inverse) i <<- inverse ## setinverse() defines a new value to 'i'
getinverse <- function() i
list(set = set,
get = get,
setinverse = setinverse,
getinverse = getinverse)
}
## This function computes the inverse of the special "matrix" returned by makeCacheMatrix above. If the inverse has already been calculated (and the matrix has not changed), then the cachesolve should retrieve the inverse from the cache.
cacheSolve <- function(x, ...) {
i <- x$getinverse()
if (!is.null(i)) {
message("Cached Data")
return(i)
}
data <- x$get()
i <- solve(data, ...) ## cacheSolve() calculates the inverse of the matrix
x$setinverse(i)
i
}