octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #66651] control package, MIMO systems wrong cr


From: anonymous
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 07:07:26 -0500 (EST)

URL:
  <https://savannah.gnu.org/bugs/?66651>

                 Summary: control package, MIMO systems wrong created C matrix
for state space representation using ss
                   Group: GNU Octave
               Submitter: None
               Submitted: Fri 10 Jan 2025 12:07:22 PM UTC
                Category: Octave Package
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: None
                  Status: None
             Assigned to: None
         Originator Name:
        Originator Email:
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 7.1.0
        Operating System: GNU/Linux
           Fixed Release: None
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Fri 10 Jan 2025 12:07:22 PM UTC By: Anonymous
thanks for the control package


i have a MIMO system like this, where u1y1 u2y1 etc are transfer functions:

sys=[u1y1 u2y1 u3y1 ;
u1y2 u2y2 u3y2];

sys_ss=ss(sys);

this results in the wrong state space representation of the system, i dont
have access to your source code but from the result of your function it seems
the C matrix is created wrongly


it should be created like this:

[A_u1y1,B_u1y1,C_u1y1,D_u1y1]=tf2ss(u1y1)
[A_u2y1,B_u2y1,C_u2y1,D_u2y1]=tf2ss(u2y1)
[A_u3y1,B_u3y1,C_u3y1,D_u3y1]=tf2ss(u3y1)
[A_u1y2,B_u1y2,C_u1y2,D_u1y2]=tf2ss(u1y2)
[A_u2y2,B_u2y2,C_u2y2,D_u2y2]=tf2ss(u2y2)
[A_u3y2,B_u3y2,C_u3y2,D_u3y2]=tf2ss(u3y2)


A_ss = blkdiag(A_u1y1, A_u2y1, A_u3y1, A_u1y2, A_u2y2, A_u3y2)
B_ss = [ blkdiag(B_u1y1, B_u2y1, B_u3y1) ; blkdiag(B_u1y2, B_u2y2, B_u3y2) ]
C_ss = blkdiag([C_u1y1, C_u2y1, C_u3y1] , [C_u1y2, C_u2y2, C_u3y2])
D_ss = [D_u1y1, D_u2y1, D_u3y1 ; D_u1y2, D_u2y2, D_u3y2 ]











    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?66651>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]