#daiizメモ

Scrapboxに夢中

Octaveでのベクトルと行列の個人的なイメージ

イラストはプログラムを書くときに思い浮かべたりする個人的なイメージです.

配列(横に並んでいるイメージ)

  • プログラミング言語 Octave で a = [1 2 3 4 5] と書けるやつ
  • Octaveで a = 1:5 とも書けるやつ
  • 配列aの1番左の値a(1) は 1.(添字は 1 はじまりとする)

https://gyazo.com/ecc47568d24f5121291f9d3dba1773fc.png

ベクトル(値が縦に並んでいる)

  • Octave で v = [1; 2; 3; 4; 5] と書けるやつ
  • v(1) は 1.

  • v(1, 1) でも 1 にアクセスできるので,こういうイメージもある
  • つまり値1は,v の1番上の要素(配列[1])の1番目の値として取り出される
  • この形をそのまま横に並べれば [ [1] [2] [3] [4] [5] ] となり v(1, 1) = 1 が見えやすいし,行列の見え方の準備になる

https://i.gyazo.com/462f77b4ee1730835da1a74ff48cd47a.png

行列(配列が縦に並んでいるイメージ)

  • Octave で M = [1 2 3; 1 4 9; 1 8 27] と書けるやつ
  • M(1,:):行列Mの1番上の数字たちを全部(:は「全部」) → [1 2 3]
  • M(1, 1:2):行列Mの1番上の数字たちのうち,左から1~2番目までを全部 → [1 2]
  • M(:, 2):行列Mの左から2番目の数字たちを上から全部 → [2; 4; 8]
  • M(2:3, 1:2): 上から2~3番目全部かつ左から1~2番目全部 → [1 4; 1 8]