normal rank calculation with tzero

5 ビュー (過去 30 日間)
Andreas
Andreas 2025 年 3 月 26 日
回答済み: Christian 2025 年 4 月 7 日
Consider the following transfer matrix:
s = tf('s')
s = s Continuous-time transfer function.
G = [1/(s+2) 0; 0 1/((s+1)*(s+3))]
G = From input 1 to output... 1 1: ----- s + 2 2: 0 From input 2 to output... 1: 0 1 2: ------------- s^2 + 4 s + 3 Continuous-time transfer function.
the calcultation of the normal rank of G is done by:
[z, nrank] = tzero(G)
z = 0x1 empty double column vector
nrank = 1
and the result is
nrank = 1.
I was wondering, because in my understanding G will never lose rank for any and the normal rank should be equal to 2. So far, my observation is, that if the number of poles in the part transfer functions is equal,
i.e.
G = [1/(s+2) 0; 0 1/(s+1)]
G = From input 1 to output... 1 1: ----- s + 2 2: 0 From input 2 to output... 1: 0 1 2: ----- s + 1 Continuous-time transfer function.
[z, nrank] = tzero(G)
z = 0x1 empty double column vector
nrank = 2
the result meets with my expectations (nrank = 2).
So my question is, am I missing something when using tzero or is there a general problem of understanding regarding the normal rank of a transfer matrix?
Many thanks in advance.
  2 件のコメント
Paul
Paul 2025 年 3 月 27 日
Hi Andreas,
I took a look and I agree that the first case seems odd. I tried lots of variation in the tol input to tzero, but that had no effect. Unfortunately, the heavy lifting for tzero, at least for the first case, is in a .mex file, so I couldn't dig into the code.
If you open a case with Tech Support, would you mind posting back here with a summary of their response?
Andreas
Andreas 2025 年 3 月 28 日
編集済み: Andreas 2025 年 4 月 2 日
Hi Paul,
thank you very much for your answer. sure, I'll do that.

サインインしてコメントする。

採用された回答

Christian
Christian 2025 年 4 月 7 日
We have identified that this is indeed a bug in "tzero".
We are actively working on a fix, and aim to provide it as soon as possible.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStability Analysis についてさらに検索

製品


リリース

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by