Skip to content

Commit 1c6107f

Browse files
committed
debug: output predictions :Ŷ in getinfo are now correct
1 parent 8365f23 commit 1c6107f

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/predictive_control.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -336,16 +336,17 @@ julia> sol_summary, info = getinfo(mpc); round.(info[:Ŷ], digits=3)
336336
function 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.
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
= mpc.T_Hp*lastu - mpc.R̂u
417418
mpc.q̃[:] += 2(mpc.L_Hp*mpc.S̃_Hp)'*
418-
mpc.p[:] += ['*mpc.L_Hp*]
419+
mpc.p[] +='*mpc.L_Hp*
419420
end
420421
return nothing
421422
end

0 commit comments

Comments
 (0)