Operații pe tablouri

Introducere în Julia

James Fulton

Climate informatics researcher

Funcții de bază pentru tablouri

# An array with 6 elements
x = ["a", "b", "sea", "d", "e", "f"]


# Find the length of the array l = length(x)
println(l)
6
Introducere în Julia

Funcții de bază pentru tablouri

# An array with 6 elements
x = ["a", "b", "sea", "d", "e", "f"]

x_sorted = sort(x)
println(x_sorted)
["a", "b", "d", "e", "f", "sea"]
# An array with 6 elements
x = [100, 95, 9, 22, 75, 58]

x_sorted = sort(x)
println(x_sorted)
[9, 22, 58, 75, 95, 100]
Introducere în Julia

Operații vectorizate

# Gradient and intercept
m = -0.32
c = 34.8

# Next run number is 16 x = 16
# Predict next run time y = m * x + c
println(y)
29.68

Un grafic al timpilor de alergare față de numărul de alergare arată o tendință descendentă a timpului necesar pentru fiecare alergare.

Introducere în Julia

Operații vectorizate

# Gradient and intercept
m = -0.32
c = 34.8

# Next run numbers
x = [16, 17, 18, 19, 20]

# Predict next run time y = m * x + c
ERROR: MethodError: ...

Un grafic al timpilor de alergare față de numărul de alergare arată o tendință descendentă a timpului necesar pentru fiecare alergare.

Introducere în Julia

Adunarea tablourilor

Adăugare scalar

a = [1,2,3]


# Answer we expect is [3,4,5]
println(a .+ 2)
[3, 4, 5]

Adăugare tablou

a = [1,2,3]
b = [1,2,3]

# Answer we expect is [2,4,6]
println(a .+ b)
[2, 4, 6]
Introducere în Julia

Adunarea tablourilor

Adăugare scalar

a = [1,2,3]


# Answer we expect is [3,4,5]

println(a + 2)
ERROR: MethodError: ...

Adăugare tablou

a = [1,2,3]
b = [1,2,3]

# Answer we expect is [2,4,6]

println(a + b)
[2, 4, 6]
Introducere în Julia

Scăderea tablourilor

# Subtract scalar
println(a .- 1)
[0, 1, 2]
# Subtract array
println(a .- b)
[0, 0, 0]
# Subtract scalar
println(a - 1)
ERROR: MethodError: ...
# Subtract array
println(a - b)
[0, 0, 0]
Introducere în Julia

Înmulțirea tablourilor

Înmulțire cu scalar

a = [1,2,3]


# Answer we expect is [5,10,15]
println(a .* 5)
[5, 10, 15]

Înmulțire cu tablou

a = [1,2,3]
b = [1,2,3]

# Answer we expect is [1,4,9]
println(a .* b)
[1, 4, 9]
Introducere în Julia

Înmulțirea tablourilor

Înmulțire cu scalar

a = [1,2,3]


# Answer we expect is [5,10,15]
println(a * 5)
[5, 10, 15]

Înmulțire cu tablou

a = [1,2,3]
b = [1,2,3]

# Answer we expect is [1,4,9]
println(a * b)
ERROR: MethodError: ...
Introducere în Julia

Împărțirea tablourilor

# Divide by scalar
println(a ./ 2)
[0.5, 1.0, 1.5]
# Divide by array
println(a ./ b)
[1.0, 1.0, 1.0]
# Divide by scalar
println(a / 2)
[0.5, 1.0, 1.5]
# Divide by array
println(a / b)
 0.071   0.142  0.214
 0.142   0.285  0.428
 0.214   0.428  0.642
Introducere în Julia

Operații vectorizate

# Gradient and intercept
m = -0.32
c = 34.8

# Next run numbers
x = [16, 17, 18, 19, 20]

# Predict next run time
y = m * x + c


Un grafic al timpilor de alergare față de numărul de alergare arată o tendință descendentă a timpului necesar pentru fiecare alergare.

Introducere în Julia

Operații vectorizate

# Gradient and intercept
m = -0.32
c = 34.8

# Next run numbers
x = [16, 17, 18, 19, 20]

# Predict next run time
y = m .* x .+ c


println(y)
[29.68, 29.36, 29.04, 28.72, 28.40]

Un grafic al timpilor de alergare față de numărul de alergare arată o tendință descendentă a timpului necesar pentru fiecare alergare.

Introducere în Julia

Rezumat

Pentru tablourile a și b

Operație Exemplu scalar Exemplu tablou
Adunare a .+ 1 a .+ b or a + b
Scădere a .- 1 a .- b or a - b
Înmulțire 2 .* a or 2 * a a .* b
Împărțire a ./ 2 or a / 2 a ./ b
Introducere în Julia

Să exersăm!

Introducere în Julia

Preparing Video For Download...