Data Types of Arrays

7.5. Data Types of Arrays#

So far we have worked with arrays of integers and floats. Arrays of complex and rational types can be defined easily, and the array functions work as expected:

x = [ complex(cos(θ),sin(θ)) for θ in 2π*(0:10)/10 ]
11-element Vector{ComplexF64}:
                  1.0 + 0.0im
   0.8090169943749475 + 0.5877852522924731im
  0.30901699437494745 + 0.9510565162951535im
 -0.30901699437494734 + 0.9510565162951536im
  -0.8090169943749473 + 0.5877852522924732im
                 -1.0 + 1.2246467991473532e-16im
  -0.8090169943749475 - 0.587785252292473im
 -0.30901699437494756 - 0.9510565162951535im
  0.30901699437494723 - 0.9510565162951536im
   0.8090169943749473 - 0.5877852522924734im
                  1.0 - 2.4492935982947064e-16im
sum(x.^2)
0.9999999999999996 - 6.008810221214569e-16im
y = [ a//(a+1) for a = 1:10 ]
10-element Vector{Rational{Int64}}:
  1//2
  2//3
  3//4
  4//5
  5//6
  6//7
  7//8
  8//9
  9//10
 10//11
prod(y.^2)
1//121

7.5.1. Conversion#

If you wish to change the data type of your array, use Julia’s convert function. For example, suppose you wish that elements of y were floats instead of rationals.

convert(Array{Float64}, y)
10-element Vector{Float64}:
 0.5
 0.6666666666666666
 0.75
 0.8
 0.8333333333333334
 0.8571428571428571
 0.875
 0.8888888888888888
 0.9
 0.9090909090909091