需要注意的是,在Yalmip中,不能直接使用if else if等判断语句,应该设置隐含command implies。
在本文中,不可以直接将发电机是否开启乘以发电机的出力这样表示的约束,最好如:
for k = 1:Horizon
Constraints = [Constraints, onoff(:,k). *Pmin <= P(:,k) <= onoff(:,k). *Pmax];
end
隐含的情况是:
image.png
不能用
f = 7;
elseif e >= -5 && e <= -2
f = 2-e;
elseif e>=-2 && e <= 2
f = e^2;
elseif e>=2 && e <= 5
f = 2+e;
elseif e >= 5
f = 7;
end
表示
而应该用这样表示:
Model = [sum(d) == 1,
implies(d(1), [ e <= -5, f == 7]);
implies(d(2), [-5 <= e <= -2, f