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

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


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

        

  関連記事

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

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

LU分解法
LU分解法で方程式を解く

方程式を LU分解法 (decomposition) で解くことにします。 元連 …

no image
行列の積|scilab入門

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

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

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

scilab 5.5.2 バージョンアップ
scilabが5.5.2 にバージョン アップになりました!

scilab は常にバージョンアップされています。 しかも無料です。 ちょっとシ …

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

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

ifによる分岐と関係演算子・論理演算子
ifによる分岐と関係演算子・論理演算子

繰り返し処理に if による分岐と関係演算子・論理演算子 を用いることにします。 …

no image
逆行列 inv|scilab入門

逆行列は、方程式を解くときに使います。 逆行列 inv を使用して解く場合につい …

複素行列の足算
複素行列の作り方|scilab入門

複素行列の作り方についてです。 複素数とは  a + bi 、 ここで a,b …

行列と関係演算子
行列に関係演算子を用いた計算とは|scilab入門

行列の要素ごとに関係演算子を適用して無ることにします。 次のような記号を関係演算 …