Parece muy interesante, con sintaxis parecido a matlab/octave pero velocidad de c! Comenzamos a explorarlo aqui:
kjetil@kjetil-HP-Pavilion-dv4-Notebook-PC:~$ julia
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: http://docs.julialang.org
_ _ _| |_ __ _ | Type "help()" to list help topics
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.2.0
_/ |\__'_|_|_|\__'_| |
|__/ | x86_64-linux-gnu
julia> 2+2
4
julia> x=2
2
julia> y=4x^3-2x+1
29
Mire el sintaxis interesante, multiplicación con un número literal sin *.
Soporte muy directo de matrices, con notación natural:
julia> B = [1 0 0 ; 1 2 3 ; 0 3 5]
3x3 Array{Int64,2}:
1 0 0
1 2 3
0 3 5
julia> rank(B)
3
julia> B * B^-1
3x3 Array{Float64,2}:
1.0 0.0 0.0
0.0 1.0 8.88178e-16
3.55271e-15 -3.55271e-15 1.0
Pero se ve que la implementación hasta hoy falta en robustez:
julia> A = [1 2 3; 2 3 4;3 4 5]
3x3 Array{Int64,2}:
1 2 3
2 3 4
3 4 5
julia> size(A)
(3,3)
julia> A^-1
3x3 Array{Float64,2}:
-4.5036e15 9.0072e15 -4.5036e15
9.0072e15 -1.80144e16 9.0072e15
-4.5036e15 9.0072e15 -4.5036e15
julia> A^-1 * A
3x3 Array{Float64,2}:
0.0 0.0 0.0
-4.0 0.0 8.0
2.0 0.0 0.0
julia> rank(A)
2
julia devuelve un inverso para A aun que no existe! Esperamos que se corrige esto .
julia> whos()
A 3x3 Array{Int64,2}
B 3x3 Array{Int64,2}
Base Module
Core Module
Main Module
x Int64
y Int64
Observamos que whos() da la información que whos
da en matlab/octave. Pero, es una función, no un comando.
julia> tri = [1 2 3; 0 4 5;0 0 6]
3x3 Array{Int64,2}:
1 2 3
0 4 5
0 0 6
julia> tri'
3x3 Array{Int64,2}:
1 0 0
2 4 0
3 5 6
Notación natural para la transpuesta, como en octave.
Finalizamos hoy con unos ejemplos de estadística:
julia> x = [ 1., 3.1, 2.2, 5, 4, 2, 6, 8, 7, 9, 7, 8, 6.9, 5]
14-element Array{Float64,1}:
1.0
3.1
2.2
5.0
4.0
2.0
6.0
8.0
7.0
9.0
7.0
8.0
6.9
5.0
julia> mean(x)
5.3
julia> std(x)
2.52373349806012
julia> median(x)
5.5
julia> quantile(x, [ .22, .44, .89])
3-element Array{Float64,1}:
2.974
5.0
8.0
No hay comentarios:
Publicar un comentario