Octaveは1から数え始めるらしい
PythonやCは要素番号は0から始まっていたけど、Octaveは1から始まるらしいということがわかったからメモ。
(余談:Visual Basic for Applicationはデフォルトが0からだったけど、1にすることもできる!)
要素番号が1かららしいと分かった経緯↓
行列Aを以下のように定めて、
A = [16 2 3 13; 5 11 10 8; 9 7 6 12; 4 14 15 1]
(Aはこんな見た目)
A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
Bにその一部(最初の2列)を代入したい!
正しいやり方のうちの一つは、以下のように。
>> B = A(:,1:2) B = 16 2 5 11 9 7 4 14
だけど、PythonとかCとかのノリで0が最初の要素番号だと思ってやってしまうと失敗する(泣)
失敗した様子↓
>> B = A(:,0:2) error: subscript indices must be either positive integers less than 2^31 or logicals
ついでに、Octaveで1:2と書くと1も2も含まれるっぽい。(両端を含む)