How can I set the feedthrough characteristic in n4sid function for MIMO system identification.

I have a question regarding the feedthrough option in n4sid function for subspace identification. According to the MathWorks help, 'Feedthrough' should be specified as a logical vector of length Nu, where Nu is the number of inputs. For example for a system with 2 inputs and one output, we can use n4sid as: [sys,x0]=n4sid(data,model_order,'Ts',0,'DisturbanceModel','estimate','Feedthrough',true(1,2));
However, when working on MIMO systems, The D matrix is Ny*Nu where Nu and Ny are the number of inputs and outputs, respectively. For specifying 'Feedthrough' option, I expect to specify a Ny*Nu matrix, not a 1*Nu vector. When I use a matrix instead of a vector, I get an error that the feedthrough must be set as a vector. In fact, it is quite possible that the feedthrough from input Ui to the output Yj be zero, whereas the feedthrough from the very Ui to another output (e.g., Yk) be non-zero. In other words, the entries of the D matrix can be zero or non-zero independent of other entries of the D matrix. If we specify a vector for feedtrough, we are implicitly saying that all the feedthroughs from one input to all outputs are zero or all are non-zero together. Does anybody have an idea about this?

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by