Skip to content
Julia

Difusión y vectorización

Aplica una función elemento a elemento sobre arrays con sintaxis de punto y @.

#broadcasting#arrays#performance

Code

julia
# Dot syntax broadcasts any function element-wise
a = [1.0, 2.0, 3.0, 4.0]
b = [10.0, 20.0, 30.0, 40.0]

y = sin.(a) .+ 2.0 .* b        # element-wise sin(a) + 2*b
scale = exp.(a) ./ sum(exp.(a)) # softmax-style normalization

# Broadcasting over a matrix: each column minus its mean
M = rand(3, 4)
means = mean(M, dims=1)         # 1x4 matrix
centered = M .- means           # broadcasts (3x4) .- (1x4)

# @. macro turns every operation into a broadcast
z = @. sin(a)^2 + cos(a)^2      # equals sin.(a).^2 .+ cos.(a).^2

# Broadcasting expands singleton dims automatically
col = rand(3)                   # 3-element vector
row = rand(1, 4)                # 1x4 matrix
outer = col .+ row              # 3x4 result (outer sum)