-
Notifications
You must be signed in to change notification settings - Fork 0
/
cachematrix.R
33 lines (29 loc) · 1017 Bytes
/
cachematrix.R
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
### The first function creates a special matrix that has a list with a function to set
and get the value of a matrix, and set and get the value of the inverse.
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)
}
### The second function computes the inverse of the above special matrix. If the inverse
has already been calculated (and the matrix not changed), then the cachesolve should
retrieve the inverse from the cache.
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
}