From bf3e2f197ffd767e729a1cf7c118a122422a6424 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 25 Jan 2015 17:21:00 +0200 Subject: [PATCH 1/3] R Programming Assignment 2 --- cachematrix.R | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/cachematrix.R b/cachematrix.R index a50be65aa44..27918c0de17 100644 --- a/cachematrix.R +++ b/cachematrix.R @@ -1,15 +1,36 @@ -## Put comments here that give an overall description of what your -## functions do +## functions providing means to cache inverse matrix operations +## Two functions below to be used together to create inverse the matrix objects -## Write a short comment describing 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 + setinv <- function(invmat) inv <<- invmat + getinv <- function() inv + list(set = set, get = get, + setinv = setinv, + getinv = getinv) } -## Write a short comment describing this function +## computes the inverse of the special "matrix" returned by makeCacheMatrix cacheSolve <- function(x, ...) { ## Return a matrix that is the inverse of 'x' -} + inv <- x$getinv() + if(!is.null(inv)) { + message("getting cached data") + return(inv) + } + data <- x$get() + inv <- solve(data, ...) + x$setinv(inv) + inv + +} \ No newline at end of file From 0547a40f4677ba7ebf61c6f4fd8b9491b9ae5d6d Mon Sep 17 00:00:00 2001 From: ip Date: Sun, 25 Jan 2015 17:42:06 +0200 Subject: [PATCH 2/3] Revert "R Programming Assignment 2" This reverts commit bf3e2f197ffd767e729a1cf7c118a122422a6424. --- cachematrix.R | 33 ++++++--------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/cachematrix.R b/cachematrix.R index 27918c0de17..a50be65aa44 100644 --- a/cachematrix.R +++ b/cachematrix.R @@ -1,36 +1,15 @@ -## functions providing means to cache inverse matrix operations -## Two functions below to be used together to create inverse the matrix objects +## Put comments here that give an overall description of what your +## functions do -## creates a special "matrix" object that can cache its inverse +## Write a short comment describing this function makeCacheMatrix <- function(x = matrix()) { - inv <- NULL - set <- function(y) { - x <<- y - inv <<- NULL - } - - get <- function() x - setinv <- function(invmat) inv <<- invmat - getinv <- function() inv - list(set = set, get = get, - setinv = setinv, - getinv = getinv) + } -## computes the inverse of the special "matrix" returned by makeCacheMatrix +## Write a short comment describing this function cacheSolve <- function(x, ...) { ## Return a matrix that is the inverse of 'x' - inv <- x$getinv() - if(!is.null(inv)) { - message("getting cached data") - return(inv) - } - data <- x$get() - inv <- solve(data, ...) - x$setinv(inv) - inv - -} \ No newline at end of file +} From 84044a2749ed1447e67de00cafaf6d083f4a7863 Mon Sep 17 00:00:00 2001 From: ip Date: Sun, 1 Feb 2015 09:54:51 +0200 Subject: [PATCH 3/3] Revert "Revert "R Programming Assignment 2"" This reverts commit 0547a40f4677ba7ebf61c6f4fd8b9491b9ae5d6d. --- cachematrix.R | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/cachematrix.R b/cachematrix.R index a50be65aa44..27918c0de17 100644 --- a/cachematrix.R +++ b/cachematrix.R @@ -1,15 +1,36 @@ -## Put comments here that give an overall description of what your -## functions do +## functions providing means to cache inverse matrix operations +## Two functions below to be used together to create inverse the matrix objects -## Write a short comment describing 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 + setinv <- function(invmat) inv <<- invmat + getinv <- function() inv + list(set = set, get = get, + setinv = setinv, + getinv = getinv) } -## Write a short comment describing this function +## computes the inverse of the special "matrix" returned by makeCacheMatrix cacheSolve <- function(x, ...) { ## Return a matrix that is the inverse of 'x' -} + inv <- x$getinv() + if(!is.null(inv)) { + message("getting cached data") + return(inv) + } + data <- x$get() + inv <- solve(data, ...) + x$setinv(inv) + inv + +} \ No newline at end of file