isproper
Determine if dynamic system model is proper
语法
B = isproper(sys)
B = isproper(sys,'elem')
[B,sysr] = isproper(sys)
说明
B = isproper(sys) returns a logical value of 1 (true) if the dynamic system model sys is proper and a logical value of 0 (false) otherwise.
A proper model has relative degree ≤ 0 and is causal. SISO transfer functions and zero-pole-gain models are proper if the degree of their numerator is less than or equal to the degree of their denominator (in other words, if they have at least as many poles as zeroes). MIMO transfer functions are proper if all their SISO entries are proper. Regular state-space models (state-space models having no E matrix) are always proper. A descriptor state-space model that has an invertible E matrix is always proper. A descriptor state-space model having a singular (non-invertible) E matrix is proper if the model has at least as many poles as zeroes.
If sys is a model array, then B is 1 if all models in the array are proper.
B = isproper(sys,'elem') checks each model in a model array sys and returns a logical array of the same size as sys. The logical array indicates which models in sys are proper.
[B,sysr] = isproper(sys) also returns an equivalent model sysr with fewer states (reduced order) and a non-singular E matrix, if sys is a proper descriptor state-space model with a non-invertible E matrix. If sys is not proper, sysr = sys.
示例
参考
[1] Varga, Andràs. "Computation of irreducible generalized state-space realizations." Kybernetika 26.2 (1990): 89-106.
版本历史记录
在 R2006a 之前推出
