Skip to content

Commit 0e05920

Browse files
committed
added: change iszero_W fields when calling setmodel!
1 parent 8cfe110 commit 0e05920

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/controller/execute.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -635,35 +635,41 @@ function setmodel!(
635635
for i=1:ny*Hp
636636
mpc.weights.M_Hp[i, i] = Mwt[(i-1) % ny + 1]
637637
end
638+
mpc.weights.iszero_M_Hp[] = iszero(mpc.weights.M_Hp)
638639
elseif !isnothing(M_Hp)
639640
M_Hp = to_hermitian(M_Hp)
640641
nŶ = ny*Hp
641642
size(M_Hp) == (nŶ, nŶ) || throw(ArgumentError("M_Hp size should be ($nŶ, $nŶ)"))
642643
mpc.weights.M_Hp .= M_Hp
644+
mpc.weights.iszero_M_Hp[] = iszero(mpc.weights.M_Hp)
643645
end
644646
if isnothing(Ñ_Hc) && !isnothing(Nwt)
645647
size(Nwt) == (nu,) || throw(ArgumentError("Nwt should be a vector of length $nu"))
646648
any(x -> x < 0, Nwt) && throw(ArgumentError("Nwt values should be nonnegative"))
647649
for i=1:nu*Hc
648650
mpc.weights.Ñ_Hc[i, i] = Nwt[(i-1) % nu + 1]
649651
end
652+
mpc.weights.iszero_Ñ_Hc[] = iszero(mpc.weights.Ñ_Hc)
650653
elseif !isnothing(Ñ_Hc)
651654
Ñ_Hc = to_hermitian(Ñ_Hc)
652655
nΔŨ = nu*Hc+
653656
size(Ñ_Hc) == (nΔŨ, nΔŨ) || throw(ArgumentError("Ñ_Hc size should be ($nΔŨ, $nΔŨ)"))
654657
mpc.weights.Ñ_Hc .= Ñ_Hc
658+
mpc.weights.iszero_Ñ_Hc[] = iszero(mpc.weights.Ñ_Hc)
655659
end
656660
if isnothing(L_Hp) && !isnothing(Lwt)
657661
size(Lwt) == (nu,) || throw(ArgumentError("Lwt should be a vector of length $nu"))
658662
any(x -> x < 0, Lwt) && throw(ArgumentError("Lwt values should be nonnegative"))
659663
for i=1:nu*Hp
660664
mpc.weights.L_Hp[i, i] = Lwt[(i-1) % nu + 1]
661665
end
666+
mpc.weights.iszero_L_Hp[] = iszero(mpc.weights.L_Hp)
662667
elseif !isnothing(L_Hp)
663668
L_Hp = to_hermitian(L_Hp)
664669
nU = nu*Hp
665670
size(L_Hp) == (nU, nU) || throw(ArgumentError("L_Hp size should be ($nU, $nU)"))
666671
mpc.weights.L_Hp .= L_Hp
672+
mpc.weights.iszero_L_Hp[] = iszero(mpc.weights.L_Hp)
667673
end
668674
setmodel_controller!(mpc, x̂op_old)
669675
return mpc

0 commit comments

Comments
 (0)