@@ -336,16 +336,17 @@ julia> sol_summary, info = getinfo(mpc); round.(info[:Ŷ], digits=3)
336336function getinfo (mpc:: PredictiveController )
337337 sol_summary = get_summary (mpc)
338338 Ŷ = similar (mpc. Ŷop)
339+ Ŷ = predict! (Ŷ, mpc, mpc. estim. model, mpc. ΔŨ)
339340 info = Dict {Symbol, InfoDictType} ()
340341 info[:ΔU ] = mpc. ΔŨ[1 : mpc. Hc* mpc. estim. model. nu]
341342 info[:ϵ ] = isinf (mpc. C) ? NaN : mpc. ΔŨ[end ]
342- info[:J ] = obj_nonlinprog (mpc, mpc. estim. model, Ŷ, mpc. ΔŨ) + mpc. p[begin ]
343+ info[:J ] = obj_nonlinprog (mpc, mpc. estim. model, Ŷ, mpc. ΔŨ) + mpc. p[]
343344 info[:U ] = mpc. S̃_Hp* mpc. ΔŨ + mpc. T_Hp* (mpc. estim. lastu0 + mpc. estim. model. uop)
344345 info[:u ] = info[:U ][1 : mpc. estim. model. nu]
345346 info[:d ] = mpc. d
346347 info[:D̂ ] = mpc. D̂
347348 info[:ŷ ] = mpc. ŷ
348- info[:Ŷ ] = predict! (Ŷ, mpc, mpc . estim . model, mpc . ΔŨ)
349+ info[:Ŷ ] = Ŷ
349350 info[:Ŷs ] = mpc. Ŷop - repeat (mpc. estim. model. yop, mpc. Hp) # Ŷop = Ŷs + Yop
350351 info[:R̂y ] = mpc. R̂y
351352 info[:R̂u ] = mpc. R̂u
@@ -410,12 +411,12 @@ function initpred!(mpc::PredictiveController, model::LinModel, d, ym, D̂, R̂y,
410411 mpc. R̂y[:], mpc. R̂u[:] = R̂y, R̂u
411412 Ẑ = mpc. F - R̂y
412413 mpc. q̃[:] = 2 (mpc. M_Hp* mpc. Ẽ)' * Ẑ
413- mpc. p[:] = [ Ẑ' * mpc. M_Hp* Ẑ]
414+ mpc. p[] = Ẑ' * mpc. M_Hp* Ẑ
414415 if ~ mpc. noR̂u
415416 lastu = mpc. estim. lastu0 + model. uop
416417 V̂ = mpc. T_Hp* lastu - mpc. R̂u
417418 mpc. q̃[:] += 2 (mpc. L_Hp* mpc. S̃_Hp)' * V̂
418- mpc. p[:] += [ V̂' * mpc. L_Hp* V̂]
419+ mpc. p[] += V̂' * mpc. L_Hp* V̂
419420 end
420421 return nothing
421422end
0 commit comments