-
Couldn't load subscription status.
- Fork 97
Description
Hi,
I noticed an issue in the Ex_SS.py example provided in the library.
It seems that during the first identification step, the input and output vectors (U and y_tot) are modified in-place. As a result, any subsequent system identification using these vectors operates on altered data, leading to worse identification results across all methods.
I discovered this when trying to use the vectors for further processing in my application and noticed inconsistencies.
To test this, I made a slight modification to Ex_SS.py by applying .copy() to the input U and output y_tot vectors in the arguments of the system_identification function. After this change, the identification results improved significantly, compared to the original example, as seen in the generated figure.
Original results just running Ex_SS.py:
Results using .copy() to input vectors:
I am not sure if this behavior is due to my local installation or if it is an unintended side effect within the identification method itself. I did not observe this issue when comparing my results to results obtained in the previous (0.2.0) release of this library.
Would you consider updating Ex_SS.py to prevent in-place modification of the original data? Or fixing this problem inside the function?
Thank you for your work on this great library!