@@ -87,10 +87,10 @@ connections = [f.y ~ c.r # filtered reference to controller reference
8787
8888@named  cl =  System (connections, t, systems =  [f, c, p])
8989
90- lsys0, ssys =  linearize (cl)
90+ lsys0, ssys =  linearize (cl, [f . u], [p . x] )
9191desired_order =  [f. x, p. x]
9292lsys =  ModelingToolkit. reorder_unknowns (lsys0, unknowns (ssys), desired_order)
93- lsys1, ssys =  linearize (cl; autodiff =  AutoFiniteDiff ())
93+ lsys1, ssys =  linearize (cl, [f . u], [p . x] ; autodiff =  AutoFiniteDiff ())
9494lsys2 =  ModelingToolkit. reorder_unknowns (lsys1, unknowns (ssys), desired_order)
9595
9696@test  lsys. A ==  lsys2. A ==  [- 2  0 ; 1  - 2 ]
@@ -99,8 +99,9 @@ lsys2 = ModelingToolkit.reorder_unknowns(lsys1, unknowns(ssys), desired_order)
9999@test  lsys. D[] ==  lsys2. D[] ==  0 
100100
101101# # Symbolic linearization
102- lsyss, _  =  ModelingToolkit. linearize_symbolic (cl, [f. u], [p. x])
102+ lsyss, ssys  =  ModelingToolkit. linearize_symbolic (cl, [f. u], [p. x])
103103
104+ lsyss =  ModelingToolkit. reorder_unknowns (lsyss, unknowns (ssys), [f. x, p. x])
104105@test  ModelingToolkit. fixpoint_sub (lsyss. A, ModelingToolkit. defaults (cl)) ==  lsys. A
105106@test  ModelingToolkit. fixpoint_sub (lsyss. B, ModelingToolkit. defaults (cl)) ==  lsys. B
106107@test  ModelingToolkit. fixpoint_sub (lsyss. C, ModelingToolkit. defaults (cl)) ==  lsys. C
@@ -147,28 +148,17 @@ lsys = ModelingToolkit.reorder_unknowns(lsys, desired_order, reverse(desired_ord
147148@test  lsys. D ==  [4400  - 4400 ]
148149
149150# # Test that there is a warning when input is misspecified
150- if  VERSION  >=  v " 1.8" 
151-     @test_throws  " Some specified inputs were not found"   linearize (pid,
152-         [
153-             pid. reference. u,
154-             pid. measurement. u
155-         ], [ctr_output. u])
156-     @test_throws  " Some specified outputs were not found"   linearize (pid,
157-         [
158-             reference. u,
159-             measurement. u
160-         ],
161-         [pid. ctr_output. u])
162- else  #  v1.6 does not have the feature to match error message
163-     @test_throws  ErrorException linearize (pid,
164-         [
165-             pid. reference. u,
166-             pid. measurement. u
167-         ], [ctr_output. u])
168-     @test_throws  ErrorException linearize (pid,
169-         [reference. u, measurement. u],
170-         [pid. ctr_output. u])
171- end 
151+ @test_throws  " Some specified inputs were not found"   linearize (pid,
152+     [
153+         pid. reference. u,
154+         pid. measurement. u
155+     ], [ctr_output. u])
156+ @test_throws  " Some specified outputs were not found"   linearize (pid,
157+     [
158+         reference. u,
159+         measurement. u
160+     ],
161+     [pid. ctr_output. u])
172162
173163# # Test operating points
174164
@@ -266,7 +256,7 @@ closed_loop = System(connections, t, systems = [model, pid, filt, sensor, r, er]
266256        filt. xd =>  0.0 
267257    ])
268258
269- @test_nowarn  linearize (closed_loop; warn_empty_op =  false )
259+ @test_nowarn  linearize (closed_loop,  :r ,  :y ; warn_empty_op =  false )
270260
271261#  https://discourse.julialang.org/t/mtk-change-in-linearize/115760/3
272262@mtkmodel  Tank_noi begin 
327317    eqs =  [0  ~  x *  log (y) -  p]
328318    @named  sys =  System (eqs, t; defaults =  [p =>  1.0 ])
329319    sys =  complete (sys)
330-     @test_throws  ModelingToolkit. MissingVariablesError  linearize (
320+     @test_throws  ModelingToolkit. MissingGuessError  linearize (
331321        sys, [x], []; op =  Dict (x =>  1.0 ), allow_input_derivatives =  true )
332322    @test_nowarn  linearize (
333323        sys, [x], []; op =  Dict (x =>  1.0 ), guesses =  Dict (y =>  1.0 ),
0 commit comments