@@ -146,11 +146,14 @@ function plot_data(t_data, u_data, y_data, ry_data)
146
146
plot!(t_data, ry_data[2,:],label="setpoint", linestyle=:dash, linetype=:steppost)
147
147
p3 = plot(t_data,u_data[1,:],label="cold", linetype=:steppost); ylabel!("flow rate")
148
148
plot!(t_data,u_data[2,:],label="hot", linetype=:steppost); xlabel!("time (s)")
149
- return plot(p1, p2, p3, layout=(3,1), fmt=:svg )
149
+ return plot(p1, p2, p3, layout=(3,1))
150
150
end
151
151
plot_data(t_data, u_data, y_data, ry_data)
152
+ savefig(ans, "plot1_LinMPC.svg"); nothing # hide
152
153
```
153
154
155
+ ![ plot1_LinMPC] ( plot1_LinMPC.svg )
156
+
154
157
For some situations, when [ ` LinMPC ` ] ( @ref ) matrices are small/medium and dense, [ ` DAQP ` ] ( https://darnstrom.github.io/daqp/ )
155
158
optimizer may be more efficient. To install it, run:
156
159
@@ -178,8 +181,11 @@ u, y = model.uop, model()
178
181
initstate!(mpc2, u, y)
179
182
u_data, y_data, ry_data = test_mpc(mpc2, model)
180
183
plot_data(t_data, u_data, y_data, ry_data)
184
+ savefig(ans, "plot2_LinMPC.svg"); nothing # hide
181
185
```
182
186
187
+ ![ plot2_LinMPC] ( plot2_LinMPC.svg )
188
+
183
189
## Adding Feedforward Compensation
184
190
185
191
Suppose that the load disturbance `` u_l `` of the last section is in fact caused by a
@@ -251,4 +257,7 @@ u, y, d = model.uop, model(), mpc_ff.estim.model.dop
251
257
initstate!(mpc_ff, u, y, d)
252
258
u_data, y_data, ry_data = test_mpc_ff(mpc_ff, model)
253
259
plot_data(t_data, u_data, y_data, ry_data)
260
+ savefig(ans, "plot3_LinMPC.svg"); nothing # hide
254
261
```
262
+
263
+ ![ plot3_LinMPC] ( plot3_LinMPC.svg )
0 commit comments