2019年6月11日火曜日

[Julia] 配列に対して一律の演算をする場合

配列のすべての要素に一律の演算をした場合があります.
Juliaでは,その際に以下のように記載することで演算が可能になります.

まずは,平均を取るのにmean関数を使うので,Statisticsパッケージをインポートします.
julia> using Statistics

この例では,1, 2, 3, 4, 6, 7, 8, 9 という平均が5になる配列(data)を用います.
mean関数を使って,この配列の平均μを取ると5になります.
配列 data の各要素から一律にμを引くと標準化されます.この時,以下の例では .- μ としており,演算子の前に . (ドット)を付けます.
標準化した配列の平均値は0になっていることがわかります.

julia> data = [1, 2, 3, 4, 6, 7, 8, 9]
8-element Array{Int64,1}:
 1
 2
 3
 4
 6
 7
 8
 9

julia> μ = mean(data)
5.0

julia> standardized_data = data .- μ
8-element Array{Float64,1}:
 -4.0
 -3.0
 -2.0
 -1.0
  1.0
  2.0
  3.0
  4.0

julia> μ2 = mean(standardized_data)
0.0

一律の演算を関数適用する場合は,以下の sin.()のように引数のカッコの前に . (ドット)を挿入します.
julia> rad = [0.523599, 0.785398, 1.5708]
3-element Array{Float64,1}:
 0.523599
 0.785398
 1.5708  

julia> sin_angle = sin.(rad)
3-element Array{Float64,1}:
 0.5000001943375613
 0.7071066656470943
 0.9999999999932537

0 件のコメント :

コメントを投稿