rssalessio / PyDeePC

Python library that implements DeePC: Data-Enabled Predictive Control
MIT License
60 stars 15 forks source link

Update Hankel Matrix and low rank approximation #3

Open JuanCarlos-TiqueRangel opened 4 months ago

JuanCarlos-TiqueRangel commented 4 months ago

Describe the bug I have a couple of questions:

  1. The Hankel matrix is updating with the new data ? I saw in the code and it looks like that the Hankel matrix and the Up, Uf, Yp, Yf are not updating.
  2. The Low rank matrix approximation function is not used ?
  3. Finally, you may have an example of a MIMO system. The example you have for the two tanks is a plat with just one input and one output.

Thank you in advance.

Zionshang commented 1 month ago

Hello! Great questions! I'm trying to make a better DeeMPC based on this repository. Can you provide some papers about the Hankle matrix that is updated with the new data? As far as I know, in most DeeMPC papers, the Hankle matrix are all built offline and then never updated.

rssalessio commented 1 month ago

Hi @JuanCarlos-TiqueRangel

  1. the Hankel matrix, from what I remember, is not updated to avoid introducing bias in the identification process (because we have closed loop data).
  2. No it was not used. I updated the example to show how it can be used (see explained_variance variable). However, it is quite shaky.
  3. Thanks for pointing this out. I fixed the example so now it's a proper MIMO system with two inputs/outputs.
JuanCarlos-TiqueRangel commented 1 month ago

Hi @JuanCarlos-TiqueRangel

  1. the Hankel matrix, from what I remember, is not updated to avoid introducing bias in the identification process (because we have closed loop data).
  2. No it was not used. I updated the example to show how it can be used (see explained_variance variable). However, it is quite shaky.
  3. Thanks for pointing this out. I fixed the example so now it's a proper MIMO system with two inputs/outputs.

Thank you very much I will check it.