CreateMask <- function (inTime, inStartTimes, inAmplitudes,
inDecayPeriod, inFractionAtDecayPeriod = 0.5)
{
#FUNCTION 1
OneMask <-function (inTime, inStartTime, inAmplitude,
inDecayPeriod, inFractionAtDecayPeriod)
{
Alpha <- -log(inFractionAtDecayPeriod)
outY <- array(0, length(inTime))
theMasked <- which(inTime >= inStartTime)
if (!is.null(theMasked)) {
outY[theMasked] <- inAmplitude*exp(-(inTime[theMasked]-inStartTime)/inDecayPeriod*Alpha)
}
return(outY)
}
# end FUNCTION 1
outMask <- array(0, length(inTime))
if (inDecayPeriod <= 0) {
return(outMask)
} else {
for (i in 1:length(inStartTimes)) {
theMask <- OneMask(inTime, inStartTimes[i], inAmplitudes[i],
inDecayPeriod, inFractionAtDecayPeriod)
theIndices <- which(theMask > outMask)
outMask[theIndices] <- theMask[theIndices]
}
return(outMask)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.