Post on 08-Feb-2016
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO
NOMBRE: Cristhian Fajardo FECHA: 14 - 12 - 2013 CURSO: 2do “A” CONTROL CODIGO: 577
HERRAMIENTAS EDA
SCILAB
Scilab fue desarrollado en el INRIA, Institut National de Recherche en Informatique et Automatique,
un excelente instituto francés de investigación, con la colaboración de la escuela de ingenieros
ENPC, Ecole Nationale de Ponts et Chauss´ees. Sus principales características son:
Software para cálculo científico
Interactivo
Programable
De libre uso, con la condición de siempre hacer referencia a sus autores
Disponible para diferentes plataformas: Windows, Linux, Sun, Alpha,...
Scilab es un software matemático, con un lenguaje de programación de alto nivel, para cálculo
científico, interactivo de libre uso y disponible en múltiples sistemas operativos (Mac OS X,
GNU/Linux, Windows). Scilab es ahora desarrollado por Scilab Enterprises desde julio 2012.
Scilab fue creado para hacer cálculos numéricos aunque también ofrece la posibilidad de hacer
algunos cálculos simbólicos como derivadas de funciones polinomiales y racionales. Posee cientos
de funciones matemáticas y la posibilidad de integrar programas en los lenguajes más usados
(Fortran, Java, C y C++). La integración puede ser de dos formas: por ejemplo, un programa en
Fortran que utilice Scilab o viceversa.1 Scilab fue hecho para ser un sistema abierto donde el usuario
pueda definir nuevos tipos de datos y operaciones entre los mismos.
Scilab viene con numerosas herramientas: gráficos 2-D y 3-D, animación, álgebra lineal, matrices
dispersas, polinomios y funciones racionales, Simulación: programas de resolución de sistemas de
ecuaciones diferenciales (explícitas e implícitas), Xcos: simulador por diagramas en bloque de
sistemas dinámicos híbridos, Control clásico, robusto, optimización LMI, Optimización diferenciable
y no diferenciable, Tratamiento de señales, Grafos y redes, Scilab paralelo empleando PVM,
Estadísticas, Creación de GUIs, Interfaz con el cálculo simbólico (Maple, MuPAD), Interfaz con
TCL/TK.
Además se pueden agregar numerosas herramientas o toolboxes hechas por los usuarios como
Grocer una herramienta para Econometría u Open FEM (Una caja de Herramientas para Elementos
Finitos), hecha por INRIA.
En el pasado Scilab podía ser utilizado en el análisis de sistemas, pero no podía interactuar con el
exterior. Hoy en día se pueden construir interfaces para que desde Scilab se pueda manejar un
dispositivo, se conecte a la red a través de Tcp (Protocolo de Control de Transmisión) o Udp (User
Datagram Protocol), etc. Esto brinda la posibilidad de conectar una placa de adquisición de datos a
Scilab y de esta forma el control de una planta on-line.
MATLAB PARA LINUX
MATLAB es un lenguaje de computación técnica de alto nivel y un entorno interactivo para
desarrollo de algoritmos, visualización de datos, análisis de datos y cálculo numérico. Con MATLAB,
podrá resolver problemas de cálculo técnico más rápidamente que con lenguajes de programación
tradicionales, tales como C, C++ y FORTRAN.
Puede usar MATLAB en una amplia gama de aplicaciones que incluyen procesamiento de señales e
imágenes, comunicaciones, diseño de sistemas de control, sistemas de prueba y medición,
modelado y análisis financiero y biología computacional. Los conjuntos de herramientas
complementarios (colecciones de funciones de MATLAB para propósitos especiales, que están
disponibles por separado) amplían el entorno de MATLAB permitiendo resolver problemas
especiales en estas áreas de aplicación.
Además, MATLAB contiene una serie de funciones para documentar y compartir su trabajo. Puede
integrar su código de MATLAB con otros lenguajes y aplicaciones, y distribuir los algoritmos y
aplicaciones que desarrollo usando MATLAB.
MATLAB PARA ANDROID
Matlab, el software de computación por excelencia. Y como no podía ser de otra forma existen
algunas herramientas bastante útiles para Android relacionadas con Matlab. De entre las
herramientas que nos podemos encontrar en Android hay tres grupos principales: guías de
referencia sobre Matlab, control remoto de Matlab y emuladores de Matlab para Android. Vamos
a ver aplicaciones de los tres grupos.
GUÍA DE REFERENCIA PARA MATLAB
Matlab Quick Reference Guide. Es una guía muy completa, con las funciones disponibles clasificadas
por categorías. Junto con el nombre de la función viene una explicación breve y concisa de lo que
hace. Que no viene la ayuda típica de la función que tenemos en el propio Matlab ni tampoco algún
ejemplo de cómo usar la función. Si no fuera por esto diría que la guía es muy buena. Pero le falta
mucho para ser una guía completa.
CONTROL REMOTO DE MATLAB
Éste grupo de aplicaciones sirve para controlar remotamente Matlab, que estará por tanto
ejecutándose en un PC. Aquí he descubierto dos aplicaciones, bastante sencillas pero que permiten
ejecutar operaciones potentes.
La primera es Matlab Commander. Esta aplicación permite tanto ejecutar comandos Matlab
remotamente como representar gráficas. La comunicación entre el Android y el PC donde se ejecuta
Matlab no está encriptada.
Muy similar es la segunda aplicación, Matlab Connect Free Edition. Esta aplicación es muy similar a
la anterior pero visualmente es algo menos agradable. Sin embargo parece que hay algo más de
trabajo detrás de ella.
Ambas aplicaciones necesitan que instalemos un programa en el PC, además de Matlab. Matlab
Commander necesita que se ejecute un .jar en el PC y Matlab Connect un .m dentro de Matlab. Es
decir, ambos usan la misma filosofía, un servidor en el PC que recoge los comandos mandados desde
Android para devolver el resultado, tanto numérico como gráfico.
EMULADORES DE MATLAB PARA ANDROID
Esta categoría no podía faltar en Android, ya que hay proyectos software libre que intentan imitar
a Matlab, como es Octave, y por tanto portarlo a Android sólo es cuestión de tiempo.
El primer emulador de Matlab del que quiero hablar se llama Mathmatiz. Es un emulador bastante
potente, con algunos detalles bastante interesantes como es el autocompletado de funciones, que
es muy útil en un móvil. La aplicación tiene un teclado integrado que hace más fácil escribir
expresiones que el que usamos por defecto en nuestro teléfono.
Acerca del número de funciones implementadas, es adecuado, pero por supuesto no tan completo
como Matlab. Por ejemplo, he podido calcular la inversa de una matriz y su determinante, pero no
los autovalores. También he podido representar un gráfico 2D, hacer zoom, exportarlo, etc. Con
esta aplicación es incluso posible ejecutar scripts .m.
El segundo emulador del que quiero hablar es Addi. Addi es un proyecto de software libre y el
objetivo es implementar completamente Octave para Matlab. El comportamiento es muy similar al
de Mathmatiz, pero me da la impresión de que hay más funciones implementadas. Por ejemplo aquí
sí que he podido calcular los autovalores de una matriz.
Addi también tiene autocompletado de funciones, teclado integrado (más completo que el de
Mathmatiz pero también más enrevesado) y cuenta con alguna ventaja como con ayuda en línea,
cosa que Mathmatiz no tiene. Sin embargo ocupa más y para representar gráficas es necesario
bajarse otra aplicación.
Ambos emuladores pueden servir para realizar cálculos bastante complejos con la misma sintaxis
que Matlab, y por tanto me parecen muy potentes para llevar en el móvil. Cualquiera de las dos
sirve para emular Matlab aunque casi me inclinaría más por Addi, por ser algo más potente y
software libre, con lo que su desarrollo puede ser más rápido.
MATLAB MOBILE
MATLAB ® Mobile ™ es un escritorio ligero en tu iPhone, iPad o Android ™ dispositivo que se conecta
a una MATLAB ® está ejecutando en MathWorks nube o en su computadora. Desde la comodidad
de su dispositivo móvil, puede ejecutar scripts, crear y manipular cifras, y ver los resultados.
Conexión a la nube MathWorks ofrece acceso a una sesión de MATLAB que se ejecuta en la nube y
almacenamiento en la nube para sus archivos de MATLAB y datos. Una vez que se cargan los
archivos, puede ejecutar dondequiera que usted tiene acceso a Internet. Conexión a su ordenador
con el conector MATLAB proporciona acceso a las secuencias de comandos y los datos de ese equipo
de MATLAB. MATLAB Mobile también cuenta con los teclados personalizados para tus dispositivos
iOS y Android, lo que facilita la entrada fácil de la sintaxis de MATLAB.
Características
Acceso a la línea de comandos de MATLAB
El acceso a MATLAB espacio de trabajo
Posibilidad de ver las cifras de MATLAB en un dispositivo iOS o Android
Registro de comandos escritos en el dispositivo móvil en el historial de comandos
Personalizar teclados para introducir la sintaxis de MATLAB típica
Autocompletar texto escrito en la ventana de comandos
Conectividad y almacenamiento MathWorks Nube
De Windows ® , Mac y Linux ® conectividad
Limitaciones
MATLAB Mobile no admite:
Aplicaciones de MATLAB como ajuste de curvas o Análisis de Señales
La creación de interfaces gráficas utilizando GUÍA
MATLAB Editor
Simulink entorno gráfico, pero el sim comando se apoya en la línea de comandos de
MATLAB Mobile
Interacción con figuras 3-D
ALTERNATIVAS DE MATLAB
GNU OCTAVE
Esta herramienta es parte del proyecto GNU. MATLAB es considerado su equivalente comercial.
Entre varias características que comparten se puede destacar que ambos ofrecen un intérprete
permitiendo ejecutar órdenes en modo interactivo. Nótese que Octave no es un sistema de álgebra
computacional como podría ser Máxima, sino que usa un lenguaje que está orientado al análisis
numérico.
GNU Octave es un lenguaje de alto nivel, inicialmente pensado para la computación numérica.
Octave proporciona una interfaz de línea de comandos para resolver problemas lineales y no lineales
de manera numérica, y desarrollar otros experimentos numéricos utilizando para ello un lenguaje
que en su mayoría es compatible con Matlab. También se puede utilizar como un lenguaje de lotes
(batch-oriented language).
Octave tiene una gran cantidad de herramientas para resolver problemas de álgebra numérica
comunes, encontrar las soluciones de ecuaciones no lineales, realizar integrales de funciones
ordinarias, manipular polinomios, e integrar ecuaciones diferenciales ordinarias y ecuaciones
diferenciales algebraicas. Es fácil de extender y modificar a través de funciones definidas por el
usuario escritas en el propio lenguaje de Octave, o utilizando módulos cargados dinámicamente
escritos en otros lenguajes como C, C++, Fortran, etc.
Detalles técnicos
Octave está escrito en C++ usando la librería STL.
Tiene un intérprete de su propio lenguaje (de sintaxis similar a Matlab), y permite una
ejecución interactiva o por lotes.
Puede extenderse el lenguaje con funciones y procedimientos por medio de módulos
dinámicos.
Utiliza otros programas GNU para ofrecer al usuario crear gráficos para luego imprimirlos o
guardarlos (Grace).
Dentro del lenguaje también se comporta como una consola de órdenes (shell). Esto
permite listar contenidos de directorios, por ejemplo.
Además de correr en plataformas Unix también lo hace en Windows.
Puede cargar archivos con funciones de Matlab de extensión .m.
Ayuda en español.
El lenguaje de Octave
La sintaxis es similar a la utilizada en MATLAB.
Es un lenguaje interpretado.
No permite pasar argumentos por referencia. Siempre se pasan por valor.
No permite punteros.
Se pueden generar scripts.
Soporta gran parte de las funciones de la librería estándar de C.
Puede extenderse para ofrecer compatibilidad a las llamadas al sistema UNIX.
El lenguaje está pensado para trabajar con matrices y provee mucha funcionalidad para
trabajar con éstas.
Soporta estructuras similares a los “struct”s de C.
A pesar de los posibles inconvenientes Matlab es un gran programa. Su interfaz gráfica está bien
pensada, está disponible en los tres sistemas operativos mayoritarios. Sus posibilidades para la
representación gráfica de datos con casi ilimitadas, el compilador de Matlab es de una potencia
bárbara y su optimización JIT es efectiva en bastantes casos. Sin embargo su parser deja bastante
que desear; incluso no acepta estructuras sintácticas que serían consistentes en el lenguaje. Al no
ser un proyecto de software libre no hay un modo de ampliarlo ni definir nuevos tipos. La interfaz
gráfica, escrita en Java, no es tan estable como podría desearse al igual que el intérprete capaz de
romperse en casos relativamente sencillos. Todo esto a parte del inconveniente del precio. Octave
soluciona algunos de los inconvenientes técnicos de Matlab. No tiene interfaz gráfica, algo que
puede ser visto como una ventaja y como un inconveniente; su parecer es más listo y acepta
estructuras más complejas. Aunque el intérprete tiene problemas de estabilidad como el de Matlab
se solucionan más rápidamente puesto que el tiempo de publicación de nuevas versiones es más
corto. Es además muy fácil de extender en C++ y permite un acceso directo a su maquinaria interna
y a sus librerías para utilizarlas en cualquier programa en C++. Es una herramienta más potente para
un buen programador.
CONCLUSIONES
Scilab puede ser una alternativa muy buena para Matlab, ya que es un software libre y su interfaz
gráfica es muy parecida a la de Matlab.
Octave no puede considerarse un sustituto perfecto de Matlab pero sı una alternativa en algunos
casos. Es un proyecto maduro y completo que permite a un programador hábil realizar algoritmos
numéricos de gran complejidad reduciendo al máximo los tiempos de desarrollo. También son útiles
conocimientos de C++ para ampliar el intérprete y conseguir tiempos de ejecución cercanos a los de
los lenguajes compilados.
RECOMENDACIONES
MATLAB es un paquete privativo distribuido por MathWorks y se puede instalar en Ubuntu, aunque
la versión de Ubuntu 11.01 no es compatible. Se recomienda el uso de Ubuntu 10.04 LTS o Ubuntu
10.10 para instalar MATLAB.