@@ -146,19 +146,25 @@ function linearize!(
146146 d0 .= d .- nonlinmodel. dop
147147 x0 .= x .- nonlinmodel. xop
148148 # --- compute the Jacobians at linearization points ---
149- A:: Matrix{NT} , Bu:: Matrix{NT} , Bd:: Matrix{NT} = linmodel. A, linmodel. Bu, linmodel. Bd
150- C:: Matrix{NT} , Dd:: Matrix{NT} = linmodel. C, linmodel. Dd
149+ # A::Matrix{NT}, Bu::Matrix{NT}, Bd::Matrix{NT} = linmodel.A, linmodel.Bu, linmodel.Bd
150+ # C::Matrix{NT}, Dd::Matrix{NT} = linmodel.C, linmodel.Dd
151151 xnext0:: Vector{NT} , y0:: Vector{NT} = linmodel. buffer. x, linmodel. buffer. y
152- myf_x0! (xnext0, x0) = f! (xnext0, nonlinmodel, x0, u0, d0, model. p)
153- myf_u0! (xnext0, u0) = f! (xnext0, nonlinmodel, x0, u0, d0, model. p)
154- myf_d0! (xnext0, d0) = f! (xnext0, nonlinmodel, x0, u0, d0, model. p)
155- myh_x0! (y0, x0) = h! (y0, nonlinmodel, x0, d0, model. p)
156- myh_d0! (y0, d0) = h! (y0, nonlinmodel, x0, d0, model. p)
157- ForwardDiff. jacobian! (A, myf_x0!, xnext0, x0)
158- ForwardDiff. jacobian! (Bu, myf_u0!, xnext0, u0)
159- ForwardDiff. jacobian! (Bd, myf_d0!, xnext0, d0)
160- ForwardDiff. jacobian! (C, myh_x0!, y0, x0)
161- ForwardDiff. jacobian! (Dd, myh_d0!, y0, d0)
152+ # myf_x0!(xnext0, x0) = f!(xnext0, nonlinmodel, x0, u0, d0, model.p)
153+ # myf_u0!(xnext0, u0) = f!(xnext0, nonlinmodel, x0, u0, d0, model.p)
154+ # myf_d0!(xnext0, d0) = f!(xnext0, nonlinmodel, x0, u0, d0, model.p)
155+ # myh_x0!(y0, x0) = h!(y0, nonlinmodel, x0, d0, model.p)
156+ # myh_d0!(y0, d0) = h!(y0, nonlinmodel, x0, d0, model.p)
157+ # ForwardDiff.jacobian!(A, myf_x0!, xnext0, x0)
158+ # ForwardDiff.jacobian!(Bu, myf_u0!, xnext0, u0)
159+ # ForwardDiff.jacobian!(Bd, myf_d0!, xnext0, d0)
160+ # ForwardDiff.jacobian!(C, myh_x0!, y0, x0)
161+ # ForwardDiff.jacobian!(Dd, myh_d0!, y0, d0)
162+ jb = nonlinmodel. buffer. jacobian
163+ jacobianA! (linmodel. A, jb, nonlinmodel, x0, u0, d0)
164+ jacobianBu! (linmodel. Bu, jb, nonlinmodel, x0, u0, d0)
165+ jacobianBd! (linmodel. Bd, jb, nonlinmodel, x0, u0, d0)
166+ jacobianC! (linmodel. C, jb, nonlinmodel, x0, d0)
167+ jacobianDd! (linmodel. Dd, jb, nonlinmodel, x0, d0)
162168 # --- compute the nonlinear model output at operating points ---
163169 h! (y0, nonlinmodel, x0, d0, model. p)
164170 y = y0
0 commit comments