I have a problem with CANON functions of different Matlab versions (e.g. 2007b, 2010b, 2011a) returning inconsistent results for the same call parameters (sysd = canon(sysd0,'modal'):

- the input/output relation stays the same - OK.

- the diagonal A-matrix is permutated slightly - still OK,

- the B and C matrices differ significantly.

I undersdand the modal decomposition has in multiple solutions, however, as far as I know, there is no useful control over the CANON function realization. Furthermore in newer Matlab versions the canon function calls p-type subfunctions which makes them inaccessible.

The obtained model is being used for tuning of predictive controller. Different B-matrix subsequently yielding significantly different results for certain set of tuning weights.

I have the original data generated using Matlab 2007. As I want to replicate it, and further provide public the code for performing a benchmark test, I need to have the CANON function to return consistent results regardless of the Matlab version used... Or find an alternative way defining/norming the B & C matrices afterwards

Is there any way to get consistent modal decomposition?

Similar questions and discussions