Reputation: 47
I have a question regarding the feedthrough option in the 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 by 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 feedthrough, 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?
Upvotes: 1
Views: 205