数値解析と制御のためのScilab入門

数値解析と制御のためのScilab入門では、行列、微分方程式、制御などの基礎的な計算を紹介しています。また、計算結果をScilabを用いたグラフィック表示による可視化について紹介しています。

*

行列の対角要素を取り出す diag|scilab入門

   

 行列

行列の対角要素を取り出す場合には、diagを用います。

行列の対角要素や角線より上の部分、角線より下の部分を取り出すことにします。または、同じ大きさの行列を作ることもできます。

SPONSORED LINK

対角部分: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.

数値を変えて色々と計算してみてください。
色々とアイデアが浮かんでくるかもしれません。


 - 数値計算, 行列計算 , ,

        

  関連記事

関数のオンライン定義deff
関数のオンライン定義 deff を使ってみる!

関数のオンライン定義を用いると、数式だけを呼び出して計算ができます。 関数 fu …

線形システムの定義
多項式を用いた線形システムの定義 syslin

多項式による伝達関数や線形すステムの定義は、syslinを用いて定義できます。 …

行列の計算
行列の差の計算

行列の引き算についてです。 2つの行列の和について考えします。例として3行3列の …

 複数のグラフィック・ウィンドウを開く:scf
複数のグラフィック・ウィンドウを開く scf

グラフを重ね書きをしないで、表示させたい場合に scf を用いるととても便利です …

行列の成分を取り出す tril|scilab入門

行列の成分を取り出す場合には、diag、tril、triuを用います。 ・dia …

scilab 階乗
階乗 prod|scilab入門

階乗の計算には prod を使用します。 例えば 1から10までの階乗を計算する …

scilab べき乗
べき乗 ^|scilab入門

べき乗の計算には ( ^ )を使います。 2の8乗についての計算は次のようになり …

転置行列
転置行列の表示 |scilab

転置行列の表示について 行列 Bの転置行列は、B にt を付けて表します。行の要 …

行列
行列演算の基礎計算 |scilab入門

行列演算はScilabの基本となっています。行列を用いることにより数式レベルで扱 …

行列の計算
行列の和の計算|scilab入門

行列の和の計算についてです。   2つの行列の和について考えます。例として3行3 …