行列の対角要素を取り出す diag|scilab入門
行列の対角要素を取り出す場合には、diagを用います。
行列の対角要素や角線より上の部分、角線より下の部分を取り出すことにします。または、同じ大きさの行列を作ることもできます。
目次
対角部分:diag
行列の対角要素の指定や成分を取り出すことにします。
(1) 行列の対角要素を1,2,3,5とする
。
1. D=diag([1,2,3,5])
1は行番号ですので、打ち込まないで下さい。
–> D=diag([1,2,3,5])
D =
1. 0. 0. 0.
0. 2. 0. 0.
0. 0. 3. 0.
0. 0. 0. 5.
(2)行列の対角要素を取り出す
行列Aの対角要素を取り出し、行列Bとする。
1. A=[4 1 5; 3 -1 1; 2 -1 -3]
2. B=diag(A)
–>A=[4 1 5; 3 -1 1; 2 -1 -3]
A =
4. 1. 5.
3. – 1. 1.
2. – 1. – 3.
–>B=diag(A)
B =
4.
– 1.
– 3.
行列のAの1行1列目の4、2行2列目の-1、3行3列目の-3を取り出しています。
(3) 行列の対角要素を取り出し、同じ大きさの行列を作る
元の行列と同じ大きさで、対角要素を取り出す場合、もう一度置きなおすことによって作ることができる。
1. A=[4 1 5; 3 -1 1; 2 -1 -3];
2. B=diag(A)
3. D=diag(B)
–>A=[4 1 5; 3 -1 1; 2 -1 -3];
–>B=diag(A)
B =
4.
– 1.
– 3.
–>D=diag(B)
D =
4. 0. 0.
0. – 1. 0.
0. 0. – 3.
(4) 対角線より上の部分を取り出す
対角線より上の部分に要素を配置した行列を作る。
行列X=[ 2 3 4]の要素を、行列Aの2列目から配置する場合には、diag(X,1)とするとXの要素を2列目から表示します。
1. X=2:4
2. A=diag(X,1)
–>X=2:4
X =
2. 3. 4.
–>A=diag(X,1)
A =
0. 2. 0. 0.
0. 0. 3. 0.
0. 0. 0. 4.
0. 0. 0. 0.
(5) 対角線より下の部分に要素を取り出す
対角線より下の部分に要素を配置した行列を作る。
行列x=[ 2 3 4]の要素を、行列Aの3行目から配置する。diag(X,-2)とするとXの要素を3行目から表示します。
1. X=2:4
2. A=diag(X,-2)
–>X=2:4
X =
2. 3. 4.
–>A=diag(X,-2)
A =
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
2. 0. 0. 0. 0.
0. 3. 0. 0. 0.
0. 0. 4. 0. 0.
数値を変えて色々と計算してみてください。
色々とアイデアが浮かんでくるかもしれません。
関連記事
-
多項式を用いた線形システムの定義 syslin
多項式による伝達関数や線形すステムの定義は、syslinを用いて定義できます。 …
-
LU分解法で方程式を解く
方程式を LU分解法 (decomposition) で解くことにします。 元連 …
-
行列の積|scilab入門
今回は行列の積について実際に計算してみました。 簡単な計算でも実際計算してみない …
-
2次元プロットにグリッドを追加:xgrid|グラフィック
グラフのデータを比較したいとか、見やすくしたい場合には、グリッドを入れて表示させ …
-
scilabが5.5.2 にバージョン アップになりました!
scilab は常にバージョンアップされています。 しかも無料です。 ちょっとシ …
-
行列の差の計算
行列の引き算についてです。 2つの行列の和について考えします。例として3行3列の …
-
ifによる分岐と関係演算子・論理演算子
繰り返し処理に if による分岐と関係演算子・論理演算子 を用いることにします。 …
-
逆行列 inv|scilab入門
逆行列は、方程式を解くときに使います。 逆行列 inv を使用して解く場合につい …
-
複素行列の作り方|scilab入門
複素行列の作り方についてです。 複素数とは a + bi 、 ここで a,b …
-
行列に関係演算子を用いた計算とは|scilab入門
行列の要素ごとに関係演算子を適用して無ることにします。 次のような記号を関係演算 …