数値解析と制御のための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.

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


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

        

  関連記事

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

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

線形システムの定義
多項式による定義 poly

多項式の計算について。 Silabでは多項式と有理式を定義できます。また、有理式 …

2次元プロットにグリッドを追加
2次元プロットにグリッドを追加:xgrid|グラフィック

グラフのデータを比較したいとか、見やすくしたい場合には、グリッドを入れて表示させ …

多項式
多項式が有利式の場合の計算

フリーのシュミレーションソフトscilabを用いて色々な計算ができます。 常にバ …

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

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

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

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

no image
行列の積|scilab入門

今回は行列の積について実際に計算してみました。 簡単な計算でも実際計算してみない …

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

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

行列
行列 3行3列の表示 |scilab入門

行列 Bが3行3列の場合  行列 が であるとします。これをscilabで表す場 …

gyoretu2-13 単位行列
ゼロ行列や定数行列を作る |scilab入門

ゼロ行列や定数行列を作ることにします。  ゼロ行列:zeros  定数行列:on …