diff options
author | Suraj Yerramilli | 2015-06-05 16:37:56 +0530 |
---|---|---|
committer | Suraj Yerramilli | 2015-06-05 16:37:56 +0530 |
commit | 1d82ade18b2550a54fbc6e125cac1822e4746654 (patch) | |
tree | 0e1fa4aac59609fa4a69500dcf0e564f26e82820 | |
parent | 0a167c853185b9a19ab41b2f34707d138c95e849 (diff) | |
download | SysID-R-code-1d82ade18b2550a54fbc6e125cac1822e4746654.tar.gz SysID-R-code-1d82ade18b2550a54fbc6e125cac1822e4746654.tar.bz2 SysID-R-code-1d82ade18b2550a54fbc6e125cac1822e4746654.zip |
Method to pretty print arx models
-rw-r--r-- | NAMESPACE | 1 | ||||
-rw-r--r-- | R/poly.R | 35 |
2 files changed, 36 insertions, 0 deletions
@@ -4,6 +4,7 @@ S3method(plot,idframe) S3method(plot,idfrd) S3method(plot,impulseest) S3method(predict,detrend) +S3method(print,arx) S3method(print,summary.idframe) S3method(print,tf) S3method(summary,idframe) @@ -13,6 +13,41 @@ arx <- function(A,B,ioDelay=0){ } #' @export +print.arx <- function(obj){ + cat("Discrete-time ARX model: A(q^{-1})y[k] = B(q^{-1})u[k] + e[k] \n\n") + cat("A(q^{-1}) = ") + for(i in seq_along(obj$A)){ + if(i-1==0){ + cat(obj$A[i]) + } else{ + if(obj$A[i]>0) cat(" + ") else cat("- ") + + if(!(abs(obj$A[i])==1)) cat(abs(obj$A[i])) + cat("q^{-",i-1,"}",sep="") + } + cat("\t") + } + cat("\n") + cat("B(q^{-1}) = ") + for(i in seq_along(obj$B)){ + if(i+obj$ioDelay-1==0){ + cat(obj$B[i]) + } else{ + + if(!((obj$ioDelay!=0) && (i==1))){ + if(obj$B[i]>0) cat(" + ") else cat("- ") + } else{ + if(obj$B[i]<0) cat("-") + } + + if(!(abs(obj$B[i])==1)) cat(abs(obj$B[i])) + cat("q^{-",i+obj$ioDelay-1,"}",sep="") + } + cat("\t") + } +} + +#' @export armax <- function(A,B,C,ioDelay=0){ out <- idpoly(A=A,B=B,C=C,D=1,E=1,F1=1,ioDelay = ioDelay) class(out) <- c("armax","idpoly") |