Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.0.0 - 日本語


mucomp

mu (構造化特異値) 計算

呼出し手順

[BOUND, D, G] = mucomp(Z, K, T)

パラメータ

Z

構造化特異値を計算するn行n列の複素行列

K

誤差に関するブロック構造を含む長さmのベクトル.

T

各ブロックの型を指す長さmのベクトル. 対応するブロックが実数の場合は T(I) = 1, 対応するブロックが複素数の場合は T(I) = 2.

BOUND

構造化特異値の上界.

D, G

それぞれ対角行列DおよびGの対角要素を含む長さnのベクトル. この際,行列Z'*D^2*Z + sqrt(-1)*(G*Z-Z'*G) - bound^2*D^2 は負の半正定行列となります.

説明

正方複素行列および 誤差のブロック構造を指定して,構造化特異値の上界を計算します.

Examples

K=[1,1,2,1,1];
T=[1,1,2,2,2];
Z=[-1+%i*6, 2-%i*3, 3+%i*8, 3+%i*8,-5-%i*9,-6+%i*2;
    4+%i*2,-2+%i*5,-6-%i*7,-4+%i*11,8-%i*7, 12-%i;
    5-%i*4,-4-%i*8, 1-%i*3,-6+%i*14,2-%i*5, 4+%i*16;
-1+%i*6, 2-%i*3, 3+%i*8, 3+%i*8,-5-%i*9,-6+%i*2;
    4+%i*2,-2+%i*5,-6-%i*7,-4+%i*11,8-%i*7, 12-%i;
    5-%i*4,-4-%i*8, 1-%i*3,-6+%i*14,2-%i*5, 4+%i*16];

[BOUND, D, G] = mucomp(Z, K, T)
spec(Z'*(diag(D)^2)*Z + %i*(diag(G)*Z-Z'*diag(G)) - BOUND^2*diag(D)^2)

M1 = [ ..
    5.2829       5.7683      -2.4004       1.2205      -6.4148    
    9.7769e-01   2.9786      -3.0408       5.0257e-01  -2.6504    
    7.0819       9.6324      -3.5750       3.3016      -6.7030    
    -1.6261      -2.9763       1.6870      -1.0603       1.2211    
    2.3056       4.3712      -2.4785       2.6152      -1.9832    ];

M2 = [ ..
    -1.1308      -1.7785       8.7974e-01  -7.5206e-01   1.2089    
    -3.5255e-01  -5.7002e-01   2.9305e-01  -2.5442e-01   3.7691e-01
    -1.3724      -2.1501       1.0741      -9.1188e-01   1.4669   
    3.5839e-01   5.5101e-01  -2.7290e-01   2.3565e-01  -3.7663e-01
    -4.9015e-01  -7.8706e-01   4.0215e-01  -3.3617e-01   5.3261e-01];

//*******************************************************
M = M1 + %i * M2;

// Let the structure be all scalar blocks
K = [1 1 1 1 1]'; 

// Let the first, the third and the fifth blocks be real,
// and let the rest of blocks be complex
T = [1 2 1 2 1]';

[bound, D, G] = mucomp(M, K, T);
spec(M' * diag(D) * M + %i * (diag(G) * M - M' * diag(G)) - bound^2 * diag(D)^2)

// Now, we compute it again with respect to all complex blocks
T = [2 2 2 2 2]';
[bound, D, G] = mucomp(M, K, T);
spec(M' * diag(D) * M + %i * (diag(G) * M - M' * diag(G)) - bound^2 * diag(D)^2)

K = [2 3]';
T = [2 2]';
[bound, D, G] = mucomp(M, K, T);

参考文献

Slicot ルーチン AB13MD.

Report an issue
<< linmeq Matrix Computation ricc >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 24 11:17:41 CEST 2024