Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Q]: (A,B,C,D) --> N inv(M) ?

12 views
Skip to first unread message

Lin Tian

unread,
Sep 28, 1994, 2:57:52 AM9/28/94
to

Could someone tell me if there is a function in Matlab
to convert (A,B,C,D) to G = N inv(M) = inv(MM) NN ?

Thanks


Jim Huang

unread,
Sep 28, 1994, 11:09:03 AM9/28/94
to
Hi, please confirm my suspicion. In dhfsyn.m in version 2.0 of
/mutools/commands, 4th line from end of file, should read,

k_c=starp([F eye(ncon); eye(nmeas) zeros(nmeas,ncon)],k_c,nmeas,ncon);

not

k_c=starp([F eye(ncon); eye(nmeas) zeros(nmeas,ncon)],k_c,ncon,nmeas);

note the last two parameters are reversed. Am I right? Am I right?

Breathlessly waiting,

Jim Huang

Juergen Eich

unread,
Sep 29, 1994, 5:51:51 AM9/29/94
to

Jim,
you _are_ right, because the input system matrix k_c has nmeas inputs and
ncon outputs as well as the returned k_c.
Seems like MUSYN Inc. tested the software on square controllers only.
BTW, IMHO they could have omitted the dimensions, because they are
calculating simple LFTs.

Greetings, Juergen


--
------------------------------------------------------------------------------

TECHNISCHE HOCHSCHULE DARMSTADT
Juergen Eich Fachgebiet Flugmechanik und Regelungstechnik
Petersenstrasse 30
D-64287 Darmstadt
Tel. x49 / 6151 / 16-2690

E-Mail: ei...@riker.fmr.maschinenbau.th-darmstadt.de

------------------------------------------------------------------------------

Wes Wang

unread,
Oct 5, 1994, 3:13:36 PM10/5/94
to
In article <EICH.94Se...@riker.fmr.maschinenbau.th-darmstadt.de>,

Juergen Eich <ei...@riker.fmr.maschinenbau.th-darmstadt.de> wrote:
>
>In article <36c0uf$1...@news.bu.edu> Jim Huang <hua...@acs.bu.edu> wrote:
>> Hi, please confirm my suspicion. In dhfsyn.m in version 2.0 of
>> /mutools/commands, 4th line from end of file, should read,
>>
>> k_c=starp([F eye(ncon); eye(nmeas) zeros(nmeas,ncon)],k_c,nmeas,ncon);
>>
>> not
>>
>> k_c=starp([F eye(ncon); eye(nmeas) zeros(nmeas,ncon)],k_c,ncon,nmeas);
>>
>> note the last two parameters are reversed. Am I right? Am I right?
>
>Jim,
>you _are_ right, because the input system matrix k_c has nmeas inputs and
>ncon outputs as well as the returned k_c.
>Seems like MUSYN Inc. tested the software on square controllers only.
>BTW, IMHO they could have omitted the dimensions, because they are
>calculating simple LFTs.
>

Thanks for pointing out the bug. We have checked with the authors of the
mutools. The authors have confirmed that it is a bug. The bug will be
fixed in the next release.

W.Wang E-mail: wa...@mathworks.com
The MathWorks, Inc. MATLAB info: in...@mathworks.com
24 Prime Park Way WWW: http://www.mathworks.com
Natick, MA 01760 Phone: (508) 653-1415

Andy Potvin

unread,
Oct 10, 1994, 2:58:04 PM10/10/94
to Lin Tian
In a previous article lt...@vipunen.hut.fi (Lin Tian) writes:
: Could someone tell me if there is a function in Matlab
: to convert (A,B,C,D) to G = N inv(M) = inv(MM) NN ?

Try the commands iofr and iofl in the Robust Control Toolbox.

>> help iofr

[SS_IN,SS_INP,SS_OUT] = IOFC(SS_) or
[AIN,BIN,CIN,DIN,AINP,BINP,CINP,DINP,AOUT,BOUT,COUT,DOUT] = IOFC(A,B,C,D)
produces an inner-outer factorization of a m x n transfer function
G: SS_ = MKSYS(A,B,C,D) (m>=n)
such that
G = |Th Thp| |M|
|0|
where
[Th Thp] : square and inner.
M : outer factor.

The resulting state-space quadruples are accumulated in
(ain,bin,...) or

ss_in = mksys(ain,bin,cin,din);
ss_inp = mksys(ainp,binp,cinp,dinp);
ss_out = mksys(aout,bout,cout,dout);

The standard state-space can be recovered by "branch".


>> help iofc

IOFC State-space inner-outer factorization.

[SS_IN,SS_INP,SS_OUT] = IOFC(SS_) or
[AIN,BIN,CIN,DIN,AINP,BINP,CINP,DINP,AOUT,BOUT,COUT,DOUT] = IOFC(A,B,C,D)
produces an inner-outer factorization of a
m x n transfer function G: SS_ = MKSYS(A,B,C,D) (m<n)
such that
G = |M 0| |Th |
|Thp|
where
|Th |: square and inner
|Thp|

M : outer factor.

The resulting state-space quadruples are accumulated in
(ain,bin,...) or

ss_in = mksys(ain,bin,cin,din);
ss_inp = mksys(ainp,binp,cinp,dinp);
ss_out = mksys(aout,bout,cout,dout);

The standard state-space can be recovered by "branch".


Hope this helps,
AndyP
==== Andy Potvin ================== pot...@mathworks.com ========
| The MathWorks, Inc. | in...@mathworks.com |
| 24 Prime Park Way | http://www.mathworks.com |
| Natick, MA 01760-1500 | ftp.mathworks.com |
| Phone: (508) 653-1415 | Fax: (508) 653-2997 |
=================================================================
| Working software is the only acceptable proof. |
=================================================================

0 new messages