Nuevo lenguaje de programación Julia, explicado como taller en Sintel 2015, evento de la Escuela de Ingeniería Electrónica de la Universidad Nacional Pedro Ruiz Gallo. Lambayeque, Perú. Al final de la presentación, fotos de lo que fue el taller.
1. Lenguaje Julia: el lenguaje
del futuro
Estud. Oscar William Neciosup Vera
8vo Ciclo- Ing. Electrónica, UNPRG
Miembro de Julia Latinoamérica
GitHub: OscarNeciosup
03 de Noviembre del 2015
3. ¿Por qué la necesidad de otro lenguaje ?
• MATLAB: cálculo de la matriz (Vectorizado) y bueno para álgebra
lineal.
• R: especializado en la rama de Estadístico.
• RUBY: dedicado a la productividad y la diversión del desarrollador
• PYTHON: lenguaje de programación multiparadigma. Sintaxis
favorece a un código legible.
Propósito
general
Lenguaje
Julia
4. ¿Por qué Julia?
• Compilación en código Nativo.
• Alto rendimiento y velocidad.
• Fácil de usar.
• Conversiones elegante y extensibles para tipos numéricos y otros tipos. Además
soporte para Unicode
• Generación automática de código especializado, eficiente, de acuerdo al tipo de
argumentos
• Porque es libre.
7. Comandos Principales
• Pkg.init()
• Pkg.status()
• Pkg.update()
• Pkg.add(“Nombre del paquete”)
• Pkg.clone(“Nombre del paquete”)
• Pkg.build(“Nombre del paquete”)
• Using Nombre del paquete
8.
9.
10. Problemas
1. Implementar la función Fibonacci de n primeros números naturales.
2. Crear un método factorial desde A hasta B como parámetros. Tipo de datos:
A :> Entero, B:> Entero.
2.
𝐴 =
4 3 5
9 2 15
0 12 8
B=
14 8 18
13 100 45
23 10 10
Hallar:
C=A*B D= A+B E=Det (C) F= 𝐷−1
G=𝐸 ∗ (𝐶 ∗ 𝐷−1 + 𝐴)
𝑇
3. Hallar la adjunta de una matriz.
11. 4. En un circuito de Radiocomunicación cuya resistencia en prueba es
de 68KΩ a una temperatura de 27°, se pide hallar el voltaje de ruido
durante su transmisión bajo un ancho de banda de 12Mhz.
Dato:
Vruido= 4𝐾𝑇𝑅𝐵
K=Cte de Boltzman (1.38 x10−23
J/k)
R=Resistencia(Ω)
T=Temperatura(Kelvin(k))
B=Ancho de banda (Hz).
5. Del ejercicio anterior se pone a prueba el mismo circuito a las
resistencias 33kΩ,56kΩ, 100 y 2MΩ. Implementar una función donde
permita saber sus voltajes de ruido respectivos.
12. Ploteos
• Hay varios y diferentes paquetes para plotear en Julia:
• Winston.jl
• Gadfly.jl
• Gaston.jl
• PyPlot.jl
• Se agrega a través de Pkg.add().
13. Algunos paquetes interesantes
• DSP.- procesamiento digital de señales.
• NLsolve.- desarrollo de sistemas de ecuaciones no lineales.
• SymPy.- desarrollo de funciones simbólicas. Parecido a maple.
• SerialPorts.- utilización del puerto serial para enviar o recibir datos
(sistemas embebidos).
• PyCall.- Llamada de funciones de Python
• Control.- Paquete dedicado a la parte de control (funciones de
transferencia, ecuaciones de estado, etc…)
14.
15. Referencias
• http://docs.julialang.org/ Documentación Julia Language
• https://gitter.im/JuliaLangEs/julialang-es Julia Latinoamérica
(JuliaLang-es).
• JuliaCon
• https://en.wikibooks.org/wiki/Introducing_Julia
• Experiencias personales.