Init
Index
CTModels.InitCTModels.buildFunctionalInitCTModels.buildFunctionalInitCTModels.buildFunctionalInitCTModels.buildFunctionalInitCTModels.buildVectorInitCTModels.checkDimCTModels.formatDataCTModels.formatTimeGridCTModels.isaVectVect
In the examples in the documentation below, the methods are not prefixed by the module name even if they are private.
julia> using CTModels
julia> x = 1
julia> private_fun(x) # throw an errormust be replaced by
julia> using CTModels
julia> x = 1
julia> CTModels.private_fun(x)However, if the method is reexported by another package, then, there is no need of prefixing.
julia> module OptimalControl
import CTModels: private_fun
export private_fun
end
julia> using OptimalControl
julia> x = 1
julia> private_fun(x)Documentation
CTModels.Init — TypeInitial guess for OCP, contains
- functions of time for the state and control variables
- vector for optimization variables
Initialization data for each field can be left to default or:
- vector for optimization variables
- constant / vector / function for state and control
- existing solution ('warm start') for all fields
Constructors:
Init(): default initializationInit(state, control, variable, time): constant vector, function handles and / or matrices / vectors interpolated along given time gridInit(sol): from existing solution
Examples
julia> init = Init()
julia> init = Init(state=[0.1, 0.2], control=0.3)
julia> init = Init(state=[0.1, 0.2], control=0.3, variable=0.5)
julia> init = Init(state=[0.1, 0.2], controlt=t->sin(t), variable=0.5)
julia> init = Init(state=[[0, 0], [1, 2], [5, -1]], time=[0, .3, 1.], controlt=t->sin(t))
julia> init = Init(sol)CTModels.buildFunctionalInit — MethodbuildFunctionalInit(
data,
time,
dim
) -> CTModels.var"#buildFunctionalInit##0#buildFunctionalInit##1"
Build functional initialization: general interpolation case
CTModels.buildFunctionalInit — MethodbuildFunctionalInit(
data::Function,
time,
dim
) -> CTModels.var"#buildFunctionalInit##2#buildFunctionalInit##3"{<:Function}
Build functional initialization: function case
CTModels.buildFunctionalInit — MethodbuildFunctionalInit(
data::Nothing,
time,
dim
) -> CTModels.var"#buildFunctionalInit##0#buildFunctionalInit##1"
Build functional initialization: default case
CTModels.buildFunctionalInit — MethodbuildFunctionalInit(
data::Union{Real, AbstractVector{<:Real}},
time,
dim
) -> Union{CTModels.var"#buildFunctionalInit##4#buildFunctionalInit##5", CTModels.var"#buildFunctionalInit##6#buildFunctionalInit##7"}
Build functional initialization: constant / 1D interpolation
CTModels.buildVectorInit — MethodbuildVectorInit(data, dim) -> Any
Build vector initialization: default / vector case
CTModels.checkDim — MethodcheckDim(actual_dim, target_dim)
Check if actual dimension is equal to target dimension, error otherwise
CTModels.formatData — MethodformatData(data) -> Any
Convert matrix to vector of vectors (could be expanded)
CTModels.formatTimeGrid — MethodformatTimeGrid(time) -> Any
Convert matrix time-grid to vector
CTModels.isaVectVect — MethodisaVectVect(data) -> Bool
Return true if argument is a vector of vectors