Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilabヘルプ >> Elementary Functions > signalprocessing > sysdiag

sysdiag

ブロック対角システム接続

呼び出し手順

r=sysdiag(a1,a2,...,an)

説明

主対角項にサブシステムを配置したブロック対角システムを返します.

ai

サブシステム (すなわち,ゲインまたは状態空間表現または 伝達関数表現の線形システム)

任意の大きさの定数, 論理値, 多項式または有理数行列

r

a1, a2, a3, ... を対角項に有する行列

説明

入力A, B および Cを指定すると, 出力はこれらの行列を以下のように対角項に配置したものになります: .

入力行列が全て正方の場合, 出力は ブロック対角行列として 知られたものになります.

特にシステムの相互接続で使用されます.

この関数以外では, ブロック対角疎行列.を 構築するためにsparse()プリミティブも使用できます.

論理値行列の場合,sysdiag() は常に 対応するブロックに 0 または 1を要素とする行列 ("true"値は1,"false"値は0で置換されます)を返します.

sysdiag() は文字列からなる 行列を配置する際に使用できませんが, オーバーロードすることが可能です (参照: オーバーローディング).

注意

引数の数は最大17個に制限されています.

s=poly(0,'s')
sysdiag(rand(2,2),1/(s+1),[1/(s-1);1/((s-2)*(s-3))])
sysdiag(tf2ss(1/s),1/(s+1),[1/(s-1);1/((s-2)*(s-3))])
// a matrix of doubles: 
A=[1 0; 0 1], B=[3 4 5; 6 7 8], C=7
D=sysdiag(A,B,C)
// 
sysdiag([%t %f; %f %t], eye(2,2), ones(3,3))
// a polynomial matrix: 
s=%s; 
sysdiag([s 4*s; 4 s^4], [1 s^2 s+2; 3*s 2 s^2-1])
// a rational matrix: 
sysdiag([1/s 2*s/(4*s+3)], [s; 4; 1/(s^2+2*s+1)])
// a block diagonal sparse matrix:
S=sysdiag([1 2; 3 4], [5 6; 7 8], [9 10; 11 12], [13 14; 15 16])
S=sparse(S)

参照

  • brackets — ([,]) 左および右括弧
  • insertion — 変数への部分的な代入または修正
  • feedback — フィードバック操作
  • diag — 対角行列の構築または展開
  • bdiag — ブロック対角化, 一般化固有ベクトル
  • sparse — 疎行列を定義
  • repmat — 配列を複製/タイル状に配置
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Apr 01 10:25:00 CEST 2015