[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #66651] control package, MIMO systems wrong cr
From: |
Torsten Lilge |
Subject: |
[Octave-bug-tracker] [bug #66651] control package, MIMO systems wrong created C matrix for state space representation using ss |
Date: |
Fri, 10 Jan 2025 15:32:23 -0500 (EST) |
Update of bug #66651 (group octave):
Status: None => Need Info
_______________________________________________________
Follow-up Comment #2:
There exists an indefinite number of state space representations with
identical transfer function. You are expecting a diagonal form. You can try to
transform the result of ss() into a diagonal form by
# Similarity trnasformation
[T, lambda] = eig (sys_ss.a);
A = inv(T)*sys_ss.a*T;
B = inv(T)*sys_ss.b;
C = sys_ss.c*T;
# Set very small values to 0 (finite
# numerical accuracy) for a nicer output
A(abs(A)<1e-12)= 0
B(abs(B)<1e-12)= 0
C(abs(C)<1e-12)= 0
However, this method is only possible for systems with single eigenvalues.
Could you please try this and report back whether you get the expected
results? The order of non-zero entries in B and C might differ because the
order of the subsystems in A follows the magnitude of their eigenvalues.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?66651>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature