Funciones
J1.4 · Nivel J1 · Julia esencial
Objetivos
- Definir funciones (larga, corta y anónima).
- Argumentos con nombre y varios valores de retorno.
- Documentar con docstrings.
map, filter, reduce y comprensiones.
- Componer con
|> y ∘.
Argumentos y retorno
function descriptores(x; quitar_media=true)
...
return (rms=r, pico=p, cresta=p/r, curtosis=c)
end
d = descriptores(x; quitar_media=false)
d.rms
Tras ;, argumentos con nombre.
Docstrings
Firma, qué hace, argumentos con unidades, ejemplo.
?descriptores los muestra. La función que sirve en varias páginas va a Resonancia.jl.
map, filter, reduce
map(abs2, v)
filter(>(0), v)
reduce(+, v)
[k^2 for k in 1:5 if isodd(k)]
Composición
Práctica
- RMS, pico, cresta y curtosis de la señal de J1.1.
- Por ventanas de 2 s con una comprensión: coincide con
rms_por_ventana.
- Curtosis de la señal: 2,03.
La doy por superada si…
- Escribo una función con docstring.
- Distingo argumentos posicionales y con nombre.
- Encadeno funciones con
|> y ∘.