機能

Scilabの'超'基本操作4

  • 2020/08/11
  • WATANABE Tomoo
Scilabの'超'基本操作4

 前回に引き続き行列の様々な入力或いは編集方法について述べていきたいと思います。

 今回は基準となる行列の作成コマンドの紹介です。

A=eye(3,3); ←(3行3列の単位行列を生成します)
B=ones(3,3); ←(3行3列の1行列(全ての要素が1で構成される)を生成します)
C=zeros(3,3); ←(3行3列の0行列(全ての要素が0で構成される)を生成します)

 これらに係数を掛けたり、四則演算やべき乗等を組み合わせる事により手動で様々な行列を作成することが出来ます。

 他にももしかしたら実験結果の測定項目ごとに分けられたデータを一つにまとめる様なこともあるかもしれません。例えば、

A_1=[1;2;3;4;5];
A_2=[2;4;6;8;10];
A_3=[3;6;9;12;15];
と3つの5行1列行列を作成(N=3の実験を行い5箇所の計測結果を集計)し、3行目に当たる計測結果の平均値を求めると言った場合には、

A=[A_1,A_2,A_3];
B=mean(A(3,:)); ←(行列Aの3行目にある全ての値について平均値を算出します3列の0行列(全ての要素が0で構成される)を生成します)
とすれば変数Bとして、A_1からA_3の3行目(3, 6, 9)の平均値が求められます。

前回の記事では単純な行列同士の積について触れていますが、

C=3*A;
として行列A(の各要素)に係数をかけるという行列計算の基礎はもちろんのこと、

D=[1,2,3;4,5,6;7,8,9];
に対して、
E=D.*Dで
 E=
 1. 4. 9.
 16. 25. 36.
 49. 64. 81.
アダマール積を求めたり、

F=D.*.Dだと
F =
1. 2. 3. 2. 4. 6. 3. 6. 9.
4. 5. 6. 8. 10. 12. 12. 15. 18.
7. 8. 9. 14. 16. 18. 21. 24. 27.
4. 8. 12. 5. 10. 15. 6. 12. 18.
16. 20. 24. 20. 25. 30. 24. 30. 36.
28. 32. 36. 35. 40. 45. 42. 48. 54.
7. 14. 21. 8. 16. 24. 9. 18. 27.
28. 35. 42. 32. 40. 48. 36. 45. 54.
49. 56. 63. 56. 64. 72. 63. 72. 81.
クロネッカー積が求められます。

この様な演算を繰り返しながらデータプロセッシングを行っていく事になりますので、次回以降は様々なシチュエーションを想定した使えるコマンド事例を挙げていきたいと思います。