@@ -5,7 +5,7 @@ using DataInterpolations
55using BlockArrays: BlockedArray
66using ModelingToolkit: t_nounits as t, D_nounits as D
77using ModelingToolkit: MTKParameters, ParameterIndex, NONNUMERIC_PORTION
8- using SciMLStructures: Tunable, Discrete, Constants
8+ using SciMLStructures: Tunable, Discrete, Constants, Initials
99using StaticArrays: SizedVector
1010using SymbolicIndexingInterface: is_parameter, getp
1111
@@ -204,7 +204,7 @@ connections = [[state_feedback.input.u[i] ~ model_outputs[i] for i in 1:4]
204204S = get_sensitivity (closed_loop, :u )
205205
206206@testset " Indexing MTKParameters with ParameterIndex" begin
207- ps = MTKParameters (collect (1.0 : 10.0 ),
207+ ps = MTKParameters (collect (1.0 : 10.0 ), collect ( 11.0 : 20.0 ),
208208 (BlockedArray ([true , false , false , true ], [2 , 2 ]),
209209 BlockedArray ([[1 2 ; 3 4 ], [2 4 ; 6 8 ]], [1 , 1 ])),
210210 # (BlockedArray([[true, false], [false, true]]), BlockedArray([[[1 2; 3 4]], [[2 4; 6 8]]])),
@@ -213,6 +213,9 @@ S = get_sensitivity(closed_loop, :u)
213213 @test ps[ParameterIndex (Tunable (), 1 )] == 1.0
214214 @test ps[ParameterIndex (Tunable (), 2 : 4 )] == collect (2.0 : 4.0 )
215215 @test ps[ParameterIndex (Tunable (), reshape (4 : 7 , 2 , 2 ))] == reshape (4.0 : 7.0 , 2 , 2 )
216+ @test ps[ParameterIndex (Initials (), 1 )] == 11.0
217+ @test ps[ParameterIndex (Initials (), 2 : 4 )] == collect (12.0 : 14.0 )
218+ @test ps[ParameterIndex (Initials (), reshape (4 : 7 , 2 , 2 ))] == reshape (14.0 : 17.0 , 2 , 2 )
216219 @test ps[ParameterIndex (Discrete (), (2 , 1 , 2 , 2 ))] == 4
217220 @test ps[ParameterIndex (Discrete (), (2 , 2 ))] == [2 4 ; 6 8 ]
218221 @test ps[ParameterIndex (Constants (), (1 , 1 ))] == 5
@@ -221,8 +224,12 @@ S = get_sensitivity(closed_loop, :u)
221224 ps[ParameterIndex (Tunable (), 1 )] = 1.5
222225 ps[ParameterIndex (Tunable (), 2 : 4 )] = [2.5 , 3.5 , 4.5 ]
223226 ps[ParameterIndex (Tunable (), reshape (5 : 8 , 2 , 2 ))] = [5.5 7.5 ; 6.5 8.5 ]
227+ ps[ParameterIndex (Initials (), 1 )] = 11.5
228+ ps[ParameterIndex (Initials (), 2 : 4 )] = [12.5 , 13.5 , 14.5 ]
229+ ps[ParameterIndex (Initials (), reshape (5 : 8 , 2 , 2 ))] = [15.5 17.5 ; 16.5 18.5 ]
224230 ps[ParameterIndex (Discrete (), (2 , 1 , 2 , 2 ))] = 5
225231 @test ps[ParameterIndex (Tunable (), 1 : 8 )] == collect (1.0 : 8.0 ) .+ 0.5
232+ @test ps[ParameterIndex (Initials (), 1 : 8 )] == collect (11.0 : 18.0 ) .+ 0.5
226233 @test ps[ParameterIndex (Discrete (), (2 , 1 , 2 , 2 ))] == 5
227234end
228235
0 commit comments