Array というものがある。
行列とみなすと良い。
どうやって記述するか。かっことして [ ] を用いる。 次の列に進むには、単にスペースを入れる。 次の行に進むには、, を1つ入れるか、 ; または改行を1つ以上入れる。
julia> a1=[1 2 3 4] julia> a2=[1 2; 3 4] julia> a3=[1 2; 3 4] julia> a4=[1 2;; 3 4] julia> a5=[1 2, 3 4] 2×2 Array{Int64,2}: 1 2 3 4(a1からa5まで、皆同じ) |
(MATLAB と似ているが、カンマ , の扱いが違う。 MATLABではスペースと同じだ。 Julia では , を使わないことにしようかな。)
Array は、
-element Array という。
次元縦ベクトルとみなすと良い。
次はどれも同じ。
の要素と考えよう。
, も ; も改行も、行列の次の行に進むという意味になる。
julia> v1=[1,2,3] julia> v2=[1;2;3] julia> v3=[1 2 3] 3-element Array{Int64,1}: 1 2 3 |
Array (
-element Array) はスカラーではない。
(これは MATLAB とは異なるところ。)
スカラーが [ ] で括られたもの、というイメージで良い。
5 と [5] は違う。
julia> a=5 5 julia> A=[a] 1-element Array{Int64,1}: 5 |
例えば、どちらも足せるけれど、混ぜて足すことは出来ない。
julia> 1+2 3 julia> [1]+[2] 1-element Array{Int64,1}: 3 julia> [1]+2 エラーになる。MATLAB だったら 3 になるんだけど。 |
Array と Array は行列としてかけることが出来る。
(もう少し詳しく言うと)
Array と
Array の積は
Array になる。
もちろん行列とベクトルの積はベクトルである。
(もう少し詳しく言うと)
Array と
Array の積は
Array
(
-element Array) である。