diff --git a/src/SystemIdentification.jl b/src/SystemIdentification.jl index 4aeb5c3eeda60056cf1ea7953b15c8594d4df48d..6282c6e0afd2a88e6b8c05bd7b8c92c5483d818a 100644 --- a/src/SystemIdentification.jl +++ b/src/SystemIdentification.jl @@ -1,8 +1,9 @@ module SystemIdentification if !isdefined(:DEBUG); DEBUG = false; end export -Model, +Model,LinearModel,NonLinearModel, Network, +Polynom,PolynomMatrix, AR, ARX, RBFARX, @@ -21,6 +22,9 @@ abstract Model abstract LinearModel <: Model abstract NonLinearModel <: Model abstract Network <: NonLinearModel +typealias Polynom Union(Real, Array{Real,1}) +typealias PolynomMatrix Union(Array{Polynom,1},Polynom) + """ `a::Vector{Float64}`: The polynomial coeffs A(z) (not including the first 1)\n @@ -29,7 +33,7 @@ abstract Network <: NonLinearModel `λ::Float64`\n """ type AR <: Model - a::Vector{Float64} + a::Polynom na::Int bias::Bool λ::Float64 @@ -44,8 +48,8 @@ end `λ::Float64`\n """ type ARX <: Model - a::Vector{Float64} - b::VecOrMat{Float64} + a::Polynom + b::PolynomMatrix na::Int nb::Vector{Int} bias::Bool @@ -71,6 +75,7 @@ type FitResult error::VecOrMat{Float64} fit::FitStatistics method::Symbol + FitResult(error::VecOrMat{Float64},method::Symbol) = new(error, FitStatistics(error),method) end type IdData