diff options
author | Suraj Yerramilli | 2016-01-04 19:07:05 +0530 |
---|---|---|
committer | Suraj Yerramilli | 2016-01-04 19:07:05 +0530 |
commit | 95f6c4a8eed9b192a956a609d3bbb2418e198574 (patch) | |
tree | 77207fbf9aeffed994cd5392f37a6cbf54127027 | |
parent | 34a35434bff9407126221085407b5301b30d9d38 (diff) | |
download | SysID-R-code-95f6c4a8eed9b192a956a609d3bbb2418e198574.tar.gz SysID-R-code-95f6c4a8eed9b192a956a609d3bbb2418e198574.tar.bz2 SysID-R-code-95f6c4a8eed9b192a956a609d3bbb2418e198574.zip |
Corrected errors for one step ahead predictions
-rw-r--r-- | R/predict.R | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/R/predict.R b/R/predict.R index a896c3d..2cbcf20 100644 --- a/R/predict.R +++ b/R/predict.R @@ -1,25 +1,25 @@ #' @export predict.idpoly <- function(x,data,nahead=1){ - y <- outputData(x); u<- inputData(x) + y <- outputData(data); u<- inputData(data) G <- signal::Arma(b=c(rep(0,x$ioDelay),x$B), a= as.numeric(polynom::polynomial(x$A)* polynom::polynomial(x$F1))) - det_sys <- signal::filter(G,u) + det_sys <- as.numeric(signal::filter(G,u)) if(x$type=="oe" || nahead==Inf){ ypred <- det_sys } else{ Hden <- as.numeric(polynom::polynomial(x$A)*polynom::polynomial(x$D)) Hinv <- signal::Arma(b=Hden,a=x$C) - filtered <- signal::filter(Hinv,y-det_sys) + filtered <- as.numeric(signal::filter(Hinv,as.numeric(y)-det_sys)) if(nahead!=1){ H <- as.numeric(polynom::polynomial(x$C)*polyinv(Hden,nahead)) Hl <- signal::Ma(H[1:nahead]) - filtered <- signal::filter(Hl,filtered) + filtered <- as.numeric(signal::filter(Hl,filtered)) } - ypred <- y[k] - filtered + ypred <- as.numeric(y) - filtered } - return(ypred) + ts(ypred,start=start(data),deltat=deltat(data)) } #' @export |