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) である。