= 2 a
2
Uso básico
En Ubuntu
$ sudo apt-get install julia
Redhat/Fedora
$ sudo dnf install julia
Arch/Manjaro
$ sudo pacman -S julia
Al lanzar julia por primera vez veremos algo así:
Variables
= 2 a
2
Bucles básicos
for i=1:2
display(i^2)
end
1
4
Vectores
= [1, 2] x
2-element Vector{Int64}:
1
2
La mayor parte de las funcionalidades de Julia se añaden en paquetes.
Por ejemplo, para representar funciones debemos el paquete Plots
Para usar un paquete, debemos instalarlo primero
using Pkg
Pkg.add("Plots")
using Plots
= [1,2,3,4,5]
x = [1,4,9,16,25]
y
plot(x,y)
Los scripts de Julia son archivos .jl
= 1
a = a+1
a display("a=$a")
Ejecutamos en terminal de Unix (si julia está bien en el path)
$ julia MiCodigo.jl
"a=2"
O desde dentro de julia
julia> include("MiCodigo.jl")
"a=2"
Para desarrollar código podemos usar Visual Studio Code con Julia.
También podemos utilizar libretas Jupyter
Es una interfaz web para facilitar el uso de Julia, creada originalmente para Python.
$ pip install notebook
IJulia
. En Julia:using Pkg
Pkg.add("IJulia")
$ jupyter notebook
Ocasionalmente Jupyter puede no detectar Julia (especialmente después de actualizaciones). Ejecutar en Julia
using IJulia
installkernel("Julia")
Artículo why we created Julia
Es código abierto:
todo está alojado en GitHub
Es reproducible:
permite controlar todas las versiones de todos los paquetes
Es dinámica:
utiliza tipos dinámicos, y la sintaxis es muy sencilla.
Es componible:
multiple distach
Eje vertical (tiempo del lenguaje) / (tiempo de ejecución en C)
La sintaxis para vectores y matrices veremos que es muy sencilla.
= [1 2 3; 4 5 6] A
2×3 Matrix{Int64}:
1 2 3
4 5 6
@show A[1,:];
A[1, :] = [1, 2, 3]
Función | Julia | MATLAB |
---|---|---|
Leer vector | x[i] |
x(i) |
Leer fila de matriz | A[i,:] |
A(i,:) |
Resolver sistema lineal | A\b |
A\b |
Las funcionalidades avanzadas se cargan con paquetes (Plots, …)
Los paquetes están alojados en GitHub, donde suelen contar con amplia documentación: ejemplo Plots.jl
Para instalarlos basta utilizamos el paquete Pkg.jl
de la siguiente forma
using Pkg; Pkg.add("Plots")
Para cargar el paquete Plots
using Plots
plot(x->exp(x))
= 1:5
x = exp.(x)
y
using Plots
plot(x,y)
@gif for n=1:20
plot(x->sin(n*x))
end
[ Info: Saved animation to /Users/david/Library/Mobile Documents/com~apple~CloudDocs/Universidad/Docencia/Julia Compumates/Github/01-PrimerContacto/tmp.gif