summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--DESCRIPTION12
-rw-r--r--NAMESPACE2
-rw-r--r--R/estpoly.R2
-rw-r--r--man/armax.Rd27
-rw-r--r--man/arx.Rd25
-rw-r--r--man/dataSlice.Rd11
-rw-r--r--man/detrend.Rd9
-rw-r--r--man/etfe.Rd7
-rw-r--r--man/getcov.Rd4
-rw-r--r--man/idframe.Rd8
-rw-r--r--man/idfrd.Rd4
-rw-r--r--man/idinput.Rd8
-rw-r--r--man/idpoly.Rd11
-rw-r--r--man/impulseest.Rd13
-rw-r--r--man/misdata.Rd3
-rw-r--r--man/oe.Rd35
-rw-r--r--man/optimOptions.Rd8
-rw-r--r--man/plot.idframe.Rd3
-rw-r--r--man/plot.idfrd.Rd3
-rw-r--r--man/plot.impulseest.Rd2
-rw-r--r--man/predict.detrend.Rd5
-rw-r--r--man/read.idframe.Rd3
-rw-r--r--man/read.odf.idframe.Rd8
-rw-r--r--man/read.table.idframe.Rd15
-rw-r--r--man/read.xls.idframe.Rd13
-rw-r--r--man/sim.Rd2
-rw-r--r--man/sim.idpoly.Rd3
-rw-r--r--man/spa.Rd15
-rw-r--r--man/step.Rd5
-rw-r--r--man/tf.Rd2
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
diff --git a/NAMESPACE b/NAMESPACE
index 20f4528..f2a0321 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -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
}
diff --git a/man/arx.Rd b/man/arx.Rd
index bae6f0b..4c15af3 100644
--- a/man/arx.Rd
+++ b/man/arx.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{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}}
diff --git a/man/oe.Rd b/man/oe.Rd
index eee4839..42f6aec 100644
--- a/man/oe.Rd
+++ b/man/oe.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{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}}
diff --git a/man/sim.Rd b/man/sim.Rd
index 562b656..5ed27ea 100644
--- a/man/sim.Rd
+++ b/man/sim.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}
\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
diff --git a/man/spa.Rd b/man/spa.Rd
index 13778ea..3979b7a 100644
--- a/man/spa.Rd
+++ b/man/spa.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{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}}
diff --git a/man/tf.Rd b/man/tf.Rd
index 3cfc35c..9d0b60e 100644
--- a/man/tf.Rd
+++ b/man/tf.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/tf.R
\name{tf}
\alias{tf}