From 41402c7a75e6c78ae33a948a6889192cbe447158 Mon Sep 17 00:00:00 2001 From: IvyZhang04 Date: Mon, 17 Mar 2025 02:12:45 +0800 Subject: [PATCH] Add files via upload --- cachematrix.R | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/cachematrix.R b/cachematrix.R index a50be65aa44..3ab891ee274 100644 --- a/cachematrix.R +++ b/cachematrix.R @@ -2,14 +2,34 @@ ## functions do ## Write a short comment describing this function +## This function creates a special "matrix" object that can cache its inverse. makeCacheMatrix <- function(x = matrix()) { - + inv <- NULL + set <- function(y) { + x <<- y + inv <<- NULL + } + get <- function() x + setInverse <- function(inverse) inv <<- inverse + getInverse <- function() inv + list(set = set, get = get, setInverse = setInverse, getInverse = getInverse) } ## Write a short comment describing this function +## This function computes the inverse of the special "matrix" returned by makeCacheMatrix. If the inverse has already been calculated (and the matrix has not changed), it retrieves the inverse from the cache. cacheSolve <- function(x, ...) { + inv <- x$getInverse() + if (!is.null(inv)) { + message("getting cached data") + return(inv) + } + data <- x$get() + inv <- solve(data, ...) + x$setInverse(inv) + inv ## Return a matrix that is the inverse of 'x' + }