Giter VIP home page Giter VIP logo

cnl's Introduction

CNL

Herramientas del curso de CNL del Máster en Ingeniería de Sistemas y Control UNED/UCM

Instalación

Para ejecutar los ejemplos lo primero que necesitamos es instalar Julia, para ello lo mejor es ir a https://julialang.org/ y visitar su página de descargas y descargar a última versión estable.

La instalación es trivial, en windows o mac basta con ejecutar el fichero descargado.

En Linux basta con descomprimir el fichero tar en una carpeta cualquiera de vuestra elección y después ejecutar julia que se encuentra en la subcarpeta /bin/julia. (Por comodidad es conveniente crear un enlace simbólico desde la carpeta donde se encuentra julia a una carpeta que esté en el path ej. sudo ln -s $(pwd)/julia /bin/julia)

A continuación, desgargad los ficheros en vuestro ordenador y hecho esto desde un terminal:

$ julia "C:\ruta\en\mi\ordenador\CNL.jl"

También podéis hacerlo desde dentro de julia:

julia> include("C://ruta//en//mi//ordenador//CNL.jl")

NOTA: podéis usar la barra espaciadora para ir autocompletando la dirección o copiar y pegar desde el explorador y cambiar el separdor de directorios por //. También es cómodo pulsar la flecha de arriba o abajo para navegafr por la historia de órdenes y no tener que estar buscando la ruta o incluso crear un acceso directo con dicho comando.

Esto tardará un buen rato la primera vez ya que tiene que decargar e instalar todos los paquetes que usará el curso (Pluto, Plots, OrdinaryDiffEq ModelingToolkit, SymEngine...) así que aprovechad para ver algún tema de CNL ;)

Si se quejase por un problema de versiones probad a borrar "Manifest.toml" e "instalado" y volved a intentarlo.

Cuando termine se abrirá pluto en el navegador:

pluto

Desde ahí se puede seleccionar el notebook que se desea abrir pinchando sobre la barra, buscando el fichero y pulsando Open.

Si queréis probarlo sin instalar nada en vuestro ordenador (no es la opción recomendada y puede que no funcione ya que depende de un servicio externo y gratuito, pero cuando funciona es útil si queréis verlo en una tableta, teléfono o en un ordenador en el que no queréis instalar software) usad el siguiente enlace:

Binder

Ojo que binder no es persistente, si hacéis un cambio y queréis guardarlo no uséis el botón de guardar sino el de exportar:

pluto

NOTA: No es necesario usar Pluto ni este método para leer o utilizar el código, los notebooks .jl son scripts normales de julia y podrían ejecutarse de la misma forma que CNL.jl y abrise con cualquier editor de textos. Eso sí, se perdería la interactividad, y para mostrar los resultados había cambiar el código usar @show variable o println("texto que sea"") y para los graficos habría que display(figura_correspondiente).

¡A disfrutarlo!

Primeros pasos con Julia

En los vídeos de la asignatura os explciaremos todo lo que necesitais conocer de la sintaxis del lenguaje pero para ampliar conocimientos o resolver dudas es bueno contar con los siguietnes recursos:

En primer lugar una guía para conocer la sintaxis básica de Julia es la siguiente tutorial en castellano, o también estos en inglés (el primero "From zero to Julia!" merece bastante la pena).

Un recurso fundamental para la consulta y también para leer secciones completas ya que es bastante legible para ser un manual es la documentación oficial que es muy completa y exausiva y si se quiere concoer el lenguaje en profundidad el manual es de obligada lectura.

Para los que dominéis otros lenguajes puede ser interesante la siguiente sección donde explica las diferencias con otros lenguajes de amplio uso.

Finalmente cada paquete tiene su propia documentación que puede consultarse buscando en google "julia paquete_que_sea.jl" por ejemplo "julia differentialequations.jl" en el primer resultado lleva directamente a la documentación de dicho paquete.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.