diff options
-rw-r--r-- | DESCRIPTION | 12 | ||||
-rw-r--r-- | NAMESPACE | 2 | ||||
-rw-r--r-- | R/estpoly.R | 2 | ||||
-rw-r--r-- | man/armax.Rd | 27 | ||||
-rw-r--r-- | man/arx.Rd | 25 | ||||
-rw-r--r-- | man/dataSlice.Rd | 11 | ||||
-rw-r--r-- | man/detrend.Rd | 9 | ||||
-rw-r--r-- | man/etfe.Rd | 7 | ||||
-rw-r--r-- | man/getcov.Rd | 4 | ||||
-rw-r--r-- | man/idframe.Rd | 8 | ||||
-rw-r--r-- | man/idfrd.Rd | 4 | ||||
-rw-r--r-- | man/idinput.Rd | 8 | ||||
-rw-r--r-- | man/idpoly.Rd | 11 | ||||
-rw-r--r-- | man/impulseest.Rd | 13 | ||||
-rw-r--r-- | man/misdata.Rd | 3 | ||||
-rw-r--r-- | man/oe.Rd | 35 | ||||
-rw-r--r-- | man/optimOptions.Rd | 8 | ||||
-rw-r--r-- | man/plot.idframe.Rd | 3 | ||||
-rw-r--r-- | man/plot.idfrd.Rd | 3 | ||||
-rw-r--r-- | man/plot.impulseest.Rd | 2 | ||||
-rw-r--r-- | man/predict.detrend.Rd | 5 | ||||
-rw-r--r-- | man/read.idframe.Rd | 3 | ||||
-rw-r--r-- | man/read.odf.idframe.Rd | 8 | ||||
-rw-r--r-- | man/read.table.idframe.Rd | 15 | ||||
-rw-r--r-- | man/read.xls.idframe.Rd | 13 | ||||
-rw-r--r-- | man/sim.Rd | 2 | ||||
-rw-r--r-- | man/sim.idpoly.Rd | 3 | ||||
-rw-r--r-- | man/spa.Rd | 15 | ||||
-rw-r--r-- | man/step.Rd | 5 | ||||
-rw-r--r-- | man/tf.Rd | 2 |
30 files changed, 147 insertions, 121 deletions
diff --git a/DESCRIPTION b/DESCRIPTION index 4f20ecc..a8511c1 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -3,8 +3,14 @@ Type: Package Title: System Identification in R Version: 1.0 Date: 2015-01-17 -Author: Suraj Yerramilli, Ashwin Raman, Narasimhan Balakrishnan, Arun Tangirala +Author: Suraj Yerramilli, Ashwin Raman, Narasimhan Balakrishnan, Arun Tangirala Maintainer: Suraj Yerramilli <surajyerramilli@outlook.com> -Description: The sysid package provides functions for constructing mathematical models of dynamic systems from measured input-output data. The package contains functions for data visualization, data preprocessing, parametric and non-paramteric model estimation, and model predictions and validation. +Description: The sysid package provides functions for constructing mathematical + models of dynamic systems from measured input-output data. The package contains + functions for data visualization, data preprocessing, parametric and non- + paramteric model estimation, and model predictions and validation. License: GPL-3 -Imports: tframe,tfplot, zoo
\ No newline at end of file +Imports: + tframe,tfplot, + zoo +RoxygenNote: 5.0.1 @@ -1,4 +1,4 @@ -# Generated by roxygen2 (4.1.1): do not edit by hand +# Generated by roxygen2: do not edit by hand S3method("inputNames<-",idframe) S3method("outputNames<-",idframe) diff --git a/R/estpoly.R b/R/estpoly.R index 7d27cf8..4fa626d 100644 --- a/R/estpoly.R +++ b/R/estpoly.R @@ -289,7 +289,7 @@ armax <- function(x,order=c(0,1,1,0),options=optimOptions()){ #' Fit an output-error model of the specified order given the input-output data #' #' @param x an object of class \code{idframe} -#' @param order: Specification of the orders: the four integer components +#' @param order Specification of the orders: the four integer components #' (nb,nf,nk) are order of polynomial B + 1, order of the polynomial F, #' and the input-output delay respectively #' @param options Estimation Options, setup using diff --git a/man/armax.Rd b/man/armax.Rd index fc2388a..a7c92e4 100644 --- a/man/armax.Rd +++ b/man/armax.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/estpoly.R \name{armax} \alias{armax} @@ -11,15 +11,15 @@ armax(x, order = c(0, 1, 1, 0), options = optimOptions()) \item{options}{Estimation Options, setup using \code{\link{optimOptions}}} -\item{order:}{Specification of the orders: the four integer components -(na,nb,nc,nk) are the order of polynolnomial A, order of polynomial B +\item{order:}{Specification of the orders: the four integer components +(na,nb,nc,nk) are the order of polynolnomial A, order of polynomial B + 1, order of the polynomial C,and the input-output delay respectively} } \value{ An object of class \code{estpoly} containing the following elements: \tabular{ll}{ - \code{sys} \tab an \code{idpoly} object containing the + \code{sys} \tab an \code{idpoly} object containing the fitted ARMAX coefficients \cr \code{fitted.values} \tab the predicted response \cr \code{residuals} \tab the residuals \cr @@ -30,31 +30,31 @@ An object of class \code{estpoly} containing the following elements: \code{vcov} \tab the covariance matrix of the fitted coefficients\cr \code{sigma} \tab the standard deviation of the innovations } \cr - \code{options} \tab Option set used for estimation. If no + \code{options} \tab Option set used for estimation. If no custom options were configured, this is a set of default options. \cr \code{termination} \tab Termination conditions for the iterative search used for prediction error minimization. \tabular{ll}{ \code{WhyStop} \tab Reason for termination \cr \code{iter} \tab Number of Iterations \cr - \code{iter} \tab Number of Function Evaluations - } + \code{iter} \tab Number of Function Evaluations + } } } \description{ Fit an ARMAX model of the specified order given the input-output data } \details{ -SISO ARMAX models are of the form +SISO ARMAX models are of the form \deqn{ - y[k] + a_1 y[k-1] + \ldots + a_{na} y[k-na] = b_{nk} u[k-nk] + + y[k] + a_1 y[k-1] + \ldots + a_{na} y[k-na] = b_{nk} u[k-nk] + \ldots + b_{nk+nb} u[k-nk-nb] + c_{1} e[k-1] + \ldots c_{nc} e[k-nc] - + e[k] + + e[k] } -The function estimates the coefficients using non-linear least squares +The function estimates the coefficients using non-linear least squares (Levenberg-Marquardt Algorithm) \\ -The data is expected to have no offsets or trends. They can be removed +The data is expected to have no offsets or trends. They can be removed using the \code{\link{detrend}} function. } \examples{ @@ -63,9 +63,10 @@ z <- dataSlice(data,end=1533) # training set mod_armax <- armax(z,c(1,2,1,2)) summary(mod_armax) # obtain estimates and their covariances plot(mod_armax) # plot the predicted and actual responses + } \references{ -Arun K. Tangirala (2015), \emph{Principles of System Identification: +Arun K. Tangirala (2015), \emph{Principles of System Identification: Theory and Practice}, CRC Press, Boca Raton. Sections 14.4.1, 21.6.2 } @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/estpoly.R \name{arx} \alias{arx} @@ -9,15 +9,15 @@ arx(x, order = c(0, 1, 0)) \arguments{ \item{x}{an object of class \code{idframe}} -\item{order:}{Specification of the orders: the three integer components -(na,nb,nk) are the order of polynolnomial A, (order of polynomial B + 1) and +\item{order:}{Specification of the orders: the three integer components +(na,nb,nk) are the order of polynolnomial A, (order of polynomial B + 1) and the input-output delay} } \value{ An object of class \code{estpoly} containing the following elements: \tabular{ll}{ - \code{sys} \tab an \code{idpoly} object containing the + \code{sys} \tab an \code{idpoly} object containing the fitted ARX coefficients \cr \code{fitted.values} \tab the predicted response \cr \code{residuals} \tab the residuals \cr @@ -27,7 +27,7 @@ An object of class \code{estpoly} containing the following elements: \tabular{ll}{ \code{vcov} \tab the covariance matrix of the fitted coefficients\cr \code{sigma} \tab the standard deviation of the innovations\cr - \code{df} \tab the residual degrees of freedom + \code{df} \tab the residual degrees of freedom } } } @@ -35,16 +35,16 @@ An object of class \code{estpoly} containing the following elements: Fit an ARX model of the specified order given the input-output data } \details{ -SISO ARX models are of the form +SISO ARX models are of the form \deqn{ - y[k] + a_1 y[k-1] + \ldots + a_{na} y[k-na] = b_{nk} u[k-nk] + - \ldots + b_{nk+nb} u[k-nk-nb] + e[k] + y[k] + a_1 y[k-1] + \ldots + a_{na} y[k-na] = b_{nk} u[k-nk] + + \ldots + b_{nk+nb} u[k-nk-nb] + e[k] } The function estimates the coefficients using linear least squares (with -no regularization). Future versions may include regularization +no regularization). Future versions may include regularization parameters as well \\ -The data is expected to have no offsets or trends. They can be removed +The data is expected to have no offsets or trends. They can be removed using the \code{\link{detrend}} function. } \examples{ @@ -52,12 +52,13 @@ data(arxsim) model <- arx(data,c(2,1,1)) model plot(model) # plot the predicted and actual responses + } \references{ -Arun K. Tangirala (2015), \emph{Principles of System Identification: +Arun K. Tangirala (2015), \emph{Principles of System Identification: Theory and Practice}, CRC Press, Boca Raton. Section 21.6.1 -Lennart Ljung (1999), \emph{System Identification: Theory for the User}, +Lennart Ljung (1999), \emph{System Identification: Theory for the User}, 2nd Edition, Prentice Hall, New York. Section 10.1 } diff --git a/man/dataSlice.Rd b/man/dataSlice.Rd index 5ff6f00..f0c1cd6 100644 --- a/man/dataSlice.Rd +++ b/man/dataSlice.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/preprocess.R \name{dataSlice} \alias{dataSlice} @@ -20,13 +20,13 @@ to be sampled.} an idframe object } \description{ -\code{dataSlice} is a subsetting method for objects of class \code{idframe}. It +\code{dataSlice} is a subsetting method for objects of class \code{idframe}. It extracts the subset of the object \code{data} observed between indices \code{start} -and \code{end}. If a frequency is specified, the series is then re-sampled at the +and \code{end}. If a frequency is specified, the series is then re-sampled at the new frequency. } \details{ -The dataSlice function extends the \code{\link[stats]{window}} +The dataSlice function extends the \code{\link[stats]{window}} function for idframe objects } \examples{ @@ -34,7 +34,8 @@ data(cstr) cstrsub <- dataSlice(cstr,start=200,end=400) # extract between indices 200 and 400 cstrTrain <- dataSlice(cstr,end=4500) # extract upto index 4500 cstrTest <- dataSlice(cstr,start=6501) # extract from index 6501 till the end -cstr_new <- dataSlice(cstr,freq=0.5) # resample data at half the original frequency +cstr_new <- dataSlice(cstr,freq=0.5) # resample data at half the original frequency + } \seealso{ \code{\link[stats]{window}} diff --git a/man/detrend.Rd b/man/detrend.Rd index 3f4faa4..b10565d 100644 --- a/man/detrend.Rd +++ b/man/detrend.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/preprocess.R \name{detrend} \alias{detrend} @@ -16,9 +16,9 @@ A list containing the following elements \tabular{ll}{ \code{fitted.values} \tab \code{idframe} object with detrended variables \cr - \code{output_trend} \tab \code{list} containing trend fits for each output + \code{output_trend} \tab \code{list} containing trend fits for each output variable \cr - \code{input_trend} \tab \code{list} containing trend fits for each input + \code{input_trend} \tab \code{list} containing trend fits for each input variable } } @@ -27,11 +27,12 @@ Removes the offsets or linear trends in each of the input and output matrices. } \examples{ data(cstr) -fit <- detrend(cstr,type="linear") # remove linear trends +fit <- detrend(cstr,type="linear") # remove linear trends Zdetrend <- predict(fit) # get the detrended data demean <- detrend(cstr) # remove offsets Zcent <- predict(demean) # get the centered data + } \seealso{ \code{\link{predict.detrend}}, \code{\link[stats]{lm}} diff --git a/man/etfe.Rd b/man/etfe.Rd index b0bd836..0990ea0 100644 --- a/man/etfe.Rd +++ b/man/etfe.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/nonparam.R \name{etfe} \alias{etfe} @@ -13,15 +13,16 @@ etfe(data) an \code{idfrd} object containing the estimated frequency response } \description{ -Estimates the emperical transfer function from the data by taking the +Estimates the emperical transfer function from the data by taking the ratio of the fourier transforms of the output and the input variables } \examples{ data(frf) frf <- etfe(data) + } \references{ -Arun K. Tangirala (2015), \emph{Principles of System Identification: +Arun K. Tangirala (2015), \emph{Principles of System Identification: Theory and Practice}, CRC Press, Boca Raton. Sections 5.3 and 20.4.2 } \seealso{ diff --git a/man/getcov.Rd b/man/getcov.Rd index b5f0369..8ee2537 100644 --- a/man/getcov.Rd +++ b/man/getcov.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/estUtil.R \name{getcov} \alias{getcov} @@ -10,7 +10,7 @@ getcov(sys) \item{sys}{a linear, identified parametric model} } \description{ -Obtain the parameter covariance matrix of the linear, identified +Obtain the parameter covariance matrix of the linear, identified parametric model } diff --git a/man/idframe.Rd b/man/idframe.Rd index b44694a..3ec50e7 100644 --- a/man/idframe.Rd +++ b/man/idframe.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/idframe.R \name{idframe} \alias{idframe} @@ -27,11 +27,13 @@ an idframe object \code{idframe} is an S3 class for storing and manipulating input-ouput data. It supports discrete time and frequency domain data. } \examples{ -dataMatrix <- matrix(rnorm(1000),ncol=5) + +dataMatrix <- matrix(rnorm(1000),ncol=5) data <- idframe(output=dataMatrix[,3:5],input=dataMatrix[,1:2],Ts=1) + } \seealso{ -\code{\link{plot.idframe}}, the plot method for idframe objects, +\code{\link{plot.idframe}}, the plot method for idframe objects, \code{\link{summary.idframe}}, the summary method for idrame objects } diff --git a/man/idfrd.Rd b/man/idfrd.Rd index 1a0b72e..6cbabb5 100644 --- a/man/idfrd.Rd +++ b/man/idfrd.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/idframe.R \name{idfrd} \alias{idfrd} @@ -20,7 +20,7 @@ an idfrd object S3 class for storing frequency response data } \note{ -The class can currently store only SISO Responses. Future versions will +The class can currently store only SISO Responses. Future versions will have support for multivariate data } \seealso{ diff --git a/man/idinput.Rd b/man/idinput.Rd index 3f64f4b..01f0b7c 100644 --- a/man/idinput.Rd +++ b/man/idinput.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/idinput.R \name{idinput} \alias{idinput} @@ -9,7 +9,7 @@ idinput(n, type = "rgs", band = c(0, 1), levels = c(-1, 1)) \arguments{ \item{n}{integer length of the input singal to be generated} -\item{type}{the type of input signal to be generated. +\item{type}{the type of input signal to be generated. 'rgs' - generates random gaussian signal 'rbs' - generates random binary signal 'prbs' - generates pseudorandom binary signal @@ -17,13 +17,13 @@ idinput(n, type = "rgs", band = c(0, 1), levels = c(-1, 1)) Default value is type='rgs'} -\item{band}{determines the frequency content of the signal. +\item{band}{determines the frequency content of the signal. For type='rbs'/'sine'/, band = [wlow,whigh] which specifies the lower and the upper bound of the passband frequencies(expressed as fractions of Nyquist frequency). Default is c(0,1) For type='prbs', band=[0,B] where B is such that the singal is constant over 1/B (clock period). Default is c(0,1)} -\item{levels}{row vector defining the input level. It is of the form +\item{levels}{row vector defining the input level. It is of the form levels=c(minu, maxu) For 'rbs','prbs', 'sine', the generated signal always between minu and maxu. For 'rgs', minu=mean value of signal minus one standard deviation and maxu=mean value of signal plus one standard deviation diff --git a/man/idpoly.Rd b/man/idpoly.Rd index 98f0036..3f82594 100644 --- a/man/idpoly.Rd +++ b/man/idpoly.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/poly.R \name{idpoly} \alias{idpoly} @@ -9,10 +9,10 @@ idpoly(A = 1, B = 1, C = 1, D = 1, F1 = 1, ioDelay = 0, Ts = 1) \arguments{ \item{A}{Autoregressive coefficients} -\item{B,F1}{Coefficients of the numerator and denominator respectively +\item{B, F1}{Coefficients of the numerator and denominator respectively of the deterministic model between the input and output} -\item{C,D}{Coefficients of the numerator and denominator respectively +\item{C, D}{Coefficients of the numerator and denominator respectively of the stochastic model} \item{ioDelay}{the delay in the input-output channel} @@ -25,8 +25,8 @@ Creates a polynomial model with identifiable coefficients \details{ Discrete-time polynomials are of the form \deqn{ - A(q^{-1}) y[k] = \frac{B(q^{-1})}{F1(q^{-1})} u[k] + - \frac{C(q^{-1})}{D(q^{-1})} e[k] + A(q^{-1}) y[k] = \frac{B(q^{-1})}{F1(q^{-1})} u[k] + + \frac{C(q^{-1})}{D(q^{-1})} e[k] } } \examples{ @@ -39,5 +39,6 @@ C <- c(1,-0.3) D <- c(1,1.5,0.7) F1 <- c(1,-0.5) mod_bj <- idpoly(1,B,C,D,F1,ioDelay=1) + } diff --git a/man/impulseest.Rd b/man/impulseest.Rd index 0eddac7..4852d2c 100644 --- a/man/impulseest.Rd +++ b/man/impulseest.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/nonparam.R \name{impulseest} \alias{impulseest} @@ -11,21 +11,21 @@ impulseest(x, M = 30, K = NULL, regul = F, lambda = 1) \item{M}{Order of the FIR Model (Default:\code{30})} -\item{K}{Transport delay in the estimated impulse response +\item{K}{Transport delay in the estimated impulse response (Default:NULL)} -\item{regul}{Parameter indicating whether regularization should be +\item{regul}{Parameter indicating whether regularization should be used. (Default:\code{FALSE})} \item{lambda}{The value of the regularization parameter. Valid only if \code{regul=TRUE}. (Default:\code{1})} } \description{ -\code{impulseest} is used to estimate impulse response coefficients from +\code{impulseest} is used to estimate impulse response coefficients from the data } \details{ -The IR Coefficients are estimated using linear least squares. Future +The IR Coefficients are estimated using linear least squares. Future Versions will provide support for multivariate data. } \examples{ @@ -34,9 +34,10 @@ yk <- filter (uk,c(0.9,-0.4),method="recursive") + rnorm(1000,1) data <- idframe(output=data.frame(yk),input=data.frame(uk)) fit <- impulseest(data) plot(fit) + } \references{ -Arun K. Tangirala (2015), \emph{Principles of System Identification: +Arun K. Tangirala (2015), \emph{Principles of System Identification: Theory and Practice}, CRC Press, Boca Raton. Sections 17.4.11 and 20.2 } \seealso{ diff --git a/man/misdata.Rd b/man/misdata.Rd index 45ec512..a6d4df8 100644 --- a/man/misdata.Rd +++ b/man/misdata.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/preprocess.R \name{misdata} \alias{misdata} @@ -21,6 +21,7 @@ The missing data is indicated using the value \emph{NA}. data(cstr_mis) summary(cstr_mis) # finding out the number of NAs cstr <- misdata(cstr_mis) + } \seealso{ \code{\link[zoo]{na.approx}} @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/estpoly.R \name{oe} \alias{oe} @@ -9,18 +9,18 @@ oe(x, order = c(1, 1, 0), options = optimOptions()) \arguments{ \item{x}{an object of class \code{idframe}} -\item{options}{Estimation Options, setup using -\code{\link{optimOptions}}} - -\item{order:}{Specification of the orders: the four integer components +\item{order}{Specification of the orders: the four integer components (nb,nf,nk) are order of polynomial B + 1, order of the polynomial F, and the input-output delay respectively} + +\item{options}{Estimation Options, setup using +\code{\link{optimOptions}}} } \value{ An object of class \code{estpoly} containing the following elements: \tabular{ll}{ - \code{sys} \tab an \code{idpoly} object containing the + \code{sys} \tab an \code{idpoly} object containing the fitted OE coefficients \cr \code{fitted.values} \tab the predicted response \cr \code{residuals} \tab the residuals \cr @@ -31,43 +31,44 @@ An object of class \code{estpoly} containing the following elements: \code{vcov} \tab the covariance matrix of the fitted coefficients\cr \code{sigma} \tab the standard deviation of the innovations } \cr - \code{options} \tab Option set used for estimation. If no + \code{options} \tab Option set used for estimation. If no custom options were configured, this is a set of default options. \cr \code{termination} \tab Termination conditions for the iterative search used for prediction error minimization. \tabular{ll}{ \code{WhyStop} \tab Reason for termination \cr \code{iter} \tab Number of Iterations \cr - \code{iter} \tab Number of Function Evaluations - } + \code{iter} \tab Number of Function Evaluations + } } } \description{ Fit an output-error model of the specified order given the input-output data } \details{ -SISO OE models are of the form +SISO OE models are of the form \deqn{ - y[k] + f_1 y[k-1] + \ldots + f_{nf} y[k-nf] = b_{nk} u[k-nk] + + y[k] + f_1 y[k-1] + \ldots + f_{nf} y[k-nf] = b_{nk} u[k-nk] + \ldots + b_{nk+nb} u[k-nk-nb] + f_{1} e[k-1] + \ldots f_{nf} e[k-nf] - + e[k] + + e[k] } -The function estimates the coefficients using non-linear least squares +The function estimates the coefficients using non-linear least squares (Levenberg-Marquardt Algorithm) \\ -The data is expected to have no offsets or trends. They can be removed +The data is expected to have no offsets or trends. They can be removed using the \code{\link{detrend}} function. } \examples{ data(oesim) z <- dataSlice(data,end=1533) # training set mod_oe <- oe(z,c(2,1,2),optimOptions(tol=1e-04,LMinit=0.01)) -mod_oe +mod_oe plot(mod_oe) # plot the predicted and actual responses + } \references{ -Arun K. Tangirala (2015), \emph{Principles of System Identification: -Theory and Practice}, CRC Press, Boca Raton. Sections 14.4.1, 17.5.2, +Arun K. Tangirala (2015), \emph{Principles of System Identification: +Theory and Practice}, CRC Press, Boca Raton. Sections 14.4.1, 17.5.2, 21.6.3 } diff --git a/man/optimOptions.Rd b/man/optimOptions.Rd index a0b4ef6..801f9be 100644 --- a/man/optimOptions.Rd +++ b/man/optimOptions.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/estUtil.R \name{optimOptions} \alias{optimOptions} @@ -7,19 +7,19 @@ optimOptions(tol = 1e-05, maxIter = 20, LMinit = 2, LMstep = 2) } \arguments{ -\item{tol}{Minimum ratio of the improvement to the current loss +\item{tol}{Minimum ratio of the improvement to the current loss function. Iterations stop if this ratio goes below the tolerance limit (Default: \code{1e-5})} \item{maxIter}{Maximum number of iterations to be performed} -\item{LMinit}{Starting value of search-direction length +\item{LMinit}{Starting value of search-direction length in the Levenberg-Marquardt method.} \item{LMstep}{Size of the Levenberg-Marquardt step} } \description{ -Specify optimization options that are to be passed to the +Specify optimization options that are to be passed to the numerical estimation routines } diff --git a/man/plot.idframe.Rd b/man/plot.idframe.Rd index 22653d4..3c90cf9 100644 --- a/man/plot.idframe.Rd +++ b/man/plot.idframe.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/idframe.R \name{plot.idframe} \alias{plot.idframe} @@ -22,6 +22,7 @@ Plotting method for objects inherting from class \code{idframe} \examples{ data(cstr) plot(cstr,col="blue") + } \seealso{ \code{\link[tfplot]{tfplot}} diff --git a/man/plot.idfrd.Rd b/man/plot.idfrd.Rd index 7c1b008..b2459f4 100644 --- a/man/plot.idfrd.Rd +++ b/man/plot.idfrd.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/idframe.R \name{plot.idfrd} \alias{plot.idfrd} @@ -17,6 +17,7 @@ ggplot2 plotting engine data(frf) frf <- spa(data) # Estimates the frequency response from data plot(frf) + } \seealso{ \code{\link[ggplot2]{ggplot}} diff --git a/man/plot.impulseest.Rd b/man/plot.impulseest.Rd index bb273f5..7a0d963 100644 --- a/man/plot.impulseest.Rd +++ b/man/plot.impulseest.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/nonparam.R \name{plot.impulseest} \alias{plot.impulseest} diff --git a/man/predict.detrend.Rd b/man/predict.detrend.Rd index e969de9..e91fb7e 100644 --- a/man/predict.detrend.Rd +++ b/man/predict.detrend.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/preprocess.R \name{predict.detrend} \alias{predict.detrend} @@ -9,7 +9,7 @@ \arguments{ \item{model}{an object of class \code{detrend}} -\item{newdata}{An optional idframe object in which to look for variables with +\item{newdata}{An optional idframe object in which to look for variables with which to predict. If ommited, the original detrended idframe object is used} } \value{ @@ -25,5 +25,6 @@ test <- dataSlice(cstr,start=6001) fit <- detrend(train) Ztrain <- predict(fit) Ztest <- predict(fit,test) + } diff --git a/man/read.idframe.Rd b/man/read.idframe.Rd index dd60160..fd546d7 100644 --- a/man/read.idframe.Rd +++ b/man/read.idframe.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/readData.R \name{read.idframe} \alias{read.idframe} @@ -25,5 +25,6 @@ Read the contents of a data.frame/matrix into a \code{idframe} object. \examples{ data(cstr) data <- read.idframe(cstrData,ninputs=1,Ts= 1,unit="minutes") + } diff --git a/man/read.odf.idframe.Rd b/man/read.odf.idframe.Rd index f7a797a..fcf4c40 100644 --- a/man/read.odf.idframe.Rd +++ b/man/read.odf.idframe.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/readData.R \name{read.odf.idframe} \alias{read.odf.idframe} @@ -12,7 +12,7 @@ read.odf.idframe(file, sheetName, header = TRUE, ninputs = 0, Ts = 1, \item{sheetName}{a character string with the sheet name} -\item{header}{a logical value indicating whether the first row corresponding to +\item{header}{a logical value indicating whether the first row corresponding to the first element of the rowIndex vector contains the names of the variables.} \item{ninputs}{the number of input columns. (Default: 0)} @@ -30,8 +30,8 @@ an idframe object Read the contents of an a .odf document into a \code{idframe} object. } \details{ -The \code{read.odf.idframe} function uses the \code{\link[gnumeric]{read.gnumeric.sheet}} function, -provided by the \pkg{xlsx} package, to read data from a .odf file and then calls the +The \code{read.odf.idframe} function uses the \code{\link[gnumeric]{read.gnumeric.sheet}} function, +provided by the \pkg{xlsx} package, to read data from a .odf file and then calls the \code{\link{read.idframe}} function to read the data into a idframe object } \seealso{ diff --git a/man/read.table.idframe.Rd b/man/read.table.idframe.Rd index 5065317..ca80a4c 100644 --- a/man/read.table.idframe.Rd +++ b/man/read.table.idframe.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/readData.R \name{read.table.idframe} \alias{read.table.idframe} @@ -10,11 +10,11 @@ read.table.idframe(file, header = TRUE, sep = ",", ninputs = 0, Ts = 1, \arguments{ \item{file}{the path to the file to read} -\item{header}{a logical value indicating whether the first row corresponding to -the first element of the rowIndex vector contains the names of the variables. +\item{header}{a logical value indicating whether the first row corresponding to +the first element of the rowIndex vector contains the names of the variables. (Default: \code{TRUE})} -\item{sep}{the field separator character. Values on each line of the file are +\item{sep}{the field separator character. Values on each line of the file are separated by this character. (Default: \code{","})} \item{ninputs}{the number of input columns. (Default: 0)} @@ -32,16 +32,17 @@ an idframe object Read the contents of an file in table format into a \code{idframe} object. } \details{ -The \code{read.table.idframe} function uses the \code{\link[utils]{read.table}} function, -provided by the \pkg{utils} package, to read data from a table-formatted file and then calls the +The \code{read.table.idframe} function uses the \code{\link[utils]{read.table}} function, +provided by the \pkg{utils} package, to read data from a table-formatted file and then calls the \code{\link{read.idframe}} function to read the data into a idframe object } \examples{ dataMatrix <- data.frame(matrix(rnorm(1000),ncol=5)) colnames(dataMatrix) <- c("u1","u2","y1","y2","y3") write.csv(dataMatrix,file="test.csv",row.names=FALSE) - + data <- read.table.idframe("test.csv",ninputs=2,unit="minutes") + } \seealso{ \code{\link[utils]{read.table}} diff --git a/man/read.xls.idframe.Rd b/man/read.xls.idframe.Rd index 449ccf9..a7123bb 100644 --- a/man/read.xls.idframe.Rd +++ b/man/read.xls.idframe.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/readData.R \name{read.xls.idframe} \alias{read.xls.idframe} @@ -12,7 +12,7 @@ read.xls.idframe(file, sheetName, header = TRUE, ninputs = 0, Ts = 1, \item{sheetName}{a character string with the sheet name} -\item{header}{a logical value indicating whether the first row corresponding to +\item{header}{a logical value indicating whether the first row corresponding to the first element of the rowIndex vector contains the names of the variables.} \item{ninputs}{the number of input columns. (Default: 0)} @@ -30,11 +30,11 @@ an idframe object Read the contents of an excel worksheet into a \code{idframe} object. } \details{ -The \code{read.xlsx.idframe} function uses the \code{\link[xlsx]{read.xlsx2}} function, -provided by the \pkg{xlsx} package, to read data from an excel file and then calls the +The \code{read.xlsx.idframe} function uses the \code{\link[xlsx]{read.xlsx2}} function, +provided by the \pkg{xlsx} package, to read data from an excel file and then calls the \code{\link{read.idframe}} function to read the data into a idframe object -The function requires the java runtime to be installed on the system (Requirement of +The function requires the java runtime to be installed on the system (Requirement of the \pkg{xlsx} package). } \examples{ @@ -42,8 +42,9 @@ library(xlsx) dataMatrix <- data.frame(matrix(rnorm(1000),ncol=5)) colnames(dataMatrix) <- c("u1","u2","y1","y2","y3") write.xlsx2(dataMatrix,file="test.xlsx",row.names=FALSE) - + data <- read.xls.idframe("test.xlsx","Sheet1",ninputs=2,unit="minutes") + } \seealso{ \code{\link[xlsx]{read.xlsx2}} @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/sim.R \name{sim} \alias{sim} diff --git a/man/sim.idpoly.Rd b/man/sim.idpoly.Rd index d206017..eae901e 100644 --- a/man/sim.idpoly.Rd +++ b/man/sim.idpoly.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/sim.R \name{sim.idpoly} \alias{sim.idpoly} @@ -31,6 +31,7 @@ include support for MIMO systems u <- rnorm(200,sd=1) model <- idpoly(A=c(1,-1.5,0.7),B=c(0.8,-0.25),ioDelay=1) y <- sim(model,u,sigma=0.1) + } \seealso{ \code{\link{idpoly}} for defining polynomial models @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/nonparam.R \name{spa} \alias{spa} @@ -9,30 +9,31 @@ spa(data, npad = 255) \arguments{ \item{data}{an \code{idframe} object} -\item{npad}{an integer representing the total length of each time series -to analyze after padding with zeros. This argument allows the user to -control the spectral resolution of the SDF estimates: the normalized +\item{npad}{an integer representing the total length of each time series +to analyze after padding with zeros. This argument allows the user to +control the spectral resolution of the SDF estimates: the normalized frequency interval is deltaf=1/npad. (Default: 255)} } \value{ an \code{idfrd} object containing the estimated frequency response } \description{ -Estimates Frequency Response with fixed frequency resolution using +Estimates Frequency Response with fixed frequency resolution using spectral analysis } \details{ The function calls the \code{SDF} function in the \code{sapa} package to -compute the cross-spectral densities. The method used is \strong{Welch's +compute the cross-spectral densities. The method used is \strong{Welch's Overlapped Segment Averaging} with a normalized \strong{Hanning} window. The overlap used is 50%. } \examples{ data(frf) frf <- spa(data) + } \references{ -Arun K. Tangirala (2015), \emph{Principles of System Identification: +Arun K. Tangirala (2015), \emph{Principles of System Identification: Theory and Practice}, CRC Press, Boca Raton. Sections 16.5 and 20.4 } \seealso{ diff --git a/man/step.Rd b/man/step.Rd index b6aa624..a4c547d 100644 --- a/man/step.Rd +++ b/man/step.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/nonparam.R \name{step} \alias{step} @@ -17,7 +17,8 @@ uk <- rnorm(1000,1) yk <- filter (uk,c(0.9,-0.4),method="recursive") + rnorm(1000,1) data <- idframe(output=data.frame(yk),input=data.frame(uk)) fit <- impulseest(data) -step(fit) +step(fit) + } \seealso{ \code{\link{impulseest}} @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/tf.R \name{tf} \alias{tf} |