Identification data
All estimation methods in this package expects an object of type AbstractIdData
, created using the function iddata
. This object typically holds input and output data as well as the sample time.
ControlSystemIdentification.iddata
— Functioniddata(y, u, x, Ts = nothing)
Returns the appropriate IdData object, depending on the input.
Arguments
y::AbstractArray
: output data (required)u::AbstractArray
: input data (if available)x::AbstractArray
: state data (if available)Ts::Union{Real,Nothing} = nothing
: optional sample time
If the time-series are multivariate, time is in the last dimension.
Operations on iddata
prefilter
resample
- append two along the time dimension
[d1 d2]
- index time series
d[output_index, input_index]
- index the time axis with indices
d[time_indices]
- index the time axis with seconds
d[3Sec:12Sec]
(using ControlSystemIdentification: Sec
) - access number of inputs, outputs and sample time:
d.nu, d.ny, d.Ts
- access the time time vector
d.t
- premultiply to scale outputs
C * d
- postmultiply to scale inputs
d * B
writedlm
ramp_in
,ramp_out
Examples
julia> iddata(randn(10))
Output data of length 10 with 1 outputs
julia> iddata(randn(10), randn(10), 1)
InputOutput data of length 10 with 1 outputs and 1 inputs
julia> d = iddata(randn(2, 10), randn(3, 10), 0.1)
InputOutput data of length 10 with 2 outputs and 3 inputs
julia> [d d] # Concatenate along time
InputOutput data of length 20 with 2 outputs and 3 inputs
julia> d[1:3]
InputOutput data of length 3 with 2 outputs and 3 inputs
julia> d.nu
3
julia> d.t # access time vector
0.0:0.1:0.9
ControlSystemIdentification.predictiondata
— Functionpredictiondata(d::AbstractIdData)
Add the output y
to the input u_new = [u; y]
Some frequency-domain methods accept or return objects of type FRD
, representing frequency-response data
Missing docstring for ControlSystemIdentification.FRD
. Check Documenter's build log for details.