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


spantwo

部分空間の合計および共通部分

呼び出し手順

[Xp,dima,dimb,dim]=spantwo(A,B, [tol])

引数

A, B

同数の行を有する実数または複素数の行列

Xp

正方正則行列

dima, dimb, dim

整数, 部分空間の次元

tol

非負の実数

説明

同じ行数を有する行列 A および B を指定すると, 以下のような正方行列Xp (正則だが直交である必要はありません) を返します:

[A1, 0]    (dim-dimb )
Xp*[A,B]=[A2,B2]    (dima+dimb-dim )
[0, B3]    (dim-dima )
[0 , 0]

inv(Xp)の最初のdima列は range(A)に展開されます.

inv(Xp)の 列 dim-dimb+1 から dima は range(A) と range(B)の共通部分に展開されます.

inv(Xp)の最初のdim列は, range(A)+range(B)に展開されます.

inv(Xp)の列dim-dimb+1からdim はrange(B)に展開されます.

行列 [A1;A2] は行フルランク(=rank(A))です. 行列[B2;B3]は行フルランク(=rank(B))です. 行列[A2,B2]は行フルランク(=rank(A inter B))です. 行[A1,0;A2,B2;0,B3] は行フルランク(=rank(A+B))です.

A=[1,0,0,4;
   5,6,7,8;
   0,0,11,12;
   0,0,0,16];
B=[1,2,0,0]';C=[4,0,0,1];
Sl=ss2ss(syslin('c',A,B,C),rand(A));
[no,X]=contr(Sl('A'),Sl('B'));CO=X(:,1:no);  //可制御部
[uo,Y]=unobs(Sl('A'),Sl('C'));UO=Y(:,1:uo);  //不可観測部
[Xp,dimc,dimu,dim]=spantwo(CO,UO);    //カルマン分解
Slcan=ss2ss(Sl,inv(Xp));

参照

Report an issue
<< spanplus Subspaces givens >>

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:
Mon Jun 17 17:54:17 CEST 2024