Descripción Scilab

Descripción Scilab

Scilab es considerado por muchos usuarios de Linux como el Matlab de Linux. Se desarrolló en los 90 con el objetivo de ser un sistema abierto donde el usuario pueda definir nuevos tipos de datos y operaciones entre ellos. Los creadores fueron INRIA (Instituto nacional de investigación en Informática y Automática) y la ENPC (Escuela Nacional de puentes y caminos), en la actualidad es desarrollada por Scilab Enterprises.

Es de código abierto y está disponible en múltiples sistemas operativos. Puede instalarse directamente desde el centro de software de Ubuntu y está disponible en dos formatos: Scilab completo y Scilab CLI que solo tiene línea de comandos.

Tras la instalación podemos comprobar que dispone de un entorno similar al de Matlab. Y las ordenes y nomenclatura utilizadas, al menos las ordenes sencillas son las mismas que utilizaríamos en Matlab, en la parte de ejercicios podemos observar la similitud.

También dispone de un entorno gráfico similar al Simulink de Matlab llamado Xcos, para simulación de sistemas dinámicos y resolución de ecuaciones diferenciales.

Scilab cuenta con multitud de herramientas como  Gráficos 2-D y 3-D, animación, álgebra lineal, matrices dispersas, polinomios y funciones racionales, simulación, Xcos:  simulador por diagramas de bloque, control clásico , robusto, optimización LMI, optimización diferenciable y no diferenciable, tratamiento de señales, grafos y redes.

Dispone de mucha información en línea y tutoriales que pueden ayudar a cualquier persona a aprender a usarlo rápidamente, este acostumbrado a utilizar este tipo de programas previamente o no. Podemos consultar las cajas de herramientas disponibles para Scilab en la web (http://atoms.scilab.org/).

En cuanto a las diferencias entre Matlab y Scilab, existen bastantes, no en cuanto a funcionalidad sino en cuanto a sintaxis más bien. Por ejemplo, los comentarios en Scilab se marcan con // en lugar de %. Las variables suelen ir con % , las cadenas de texto se consideran como matrices. Los estados verdadero y falso son T y F en Scilab mientras en que Matlab se usa 0 y 1.

Las funciones no son ficheros como los m-files de Matlab. Una o varias funciones pueden definirse dentro del mismo fichero .sci, y el nombre del fichero no tiene por qué ser necesariamente el de la función. Y antes de usarlas se debe ejecutar el comando:

getf(“fichero.sci”,”c”)

A continuación se muestra una tabla con las equivalencias entre las funciones de Matlab y SCILAB.

 

Matlab SCILAB Matlab SCILAB
all and isglobal
any or isinf(a) A==%inf
balance balanc isnan(a)
clock unix(‘date’) isstr(a) type (a)==10
computer unix_g(‘machine’) keyboard pause + resume
cputime timer lasterr
delete unix(‘rm file’) lookfor Apropos
dir unix_g(‘ls’) more Lines
echo mode pack stacksize
eig spec or bdiag pause halt
eval evstr qz gspec+gschur
exist exists + type randn rand
fclose file(‘close’) rem modulo
feof setstr code2str
ferror strcmp(a,b) a==b
feval evstr and strcat uicontrol
filter rtitr uimenu getvalue
finite (x>%inf) unix unix_g
fopen file(‘open’) version
fread Read which whereis
fseek File nargin [nargout,nargin]=argn[0]
ftell nargout
fwrite Writeb

Scilab dispone también de una serie de funciones que emulan funciones existentes en Matlab, para ello solo hay que poner el prefijo mtlb_ delante del nombre de la función:

mtlb_ mtlb_fft mtlb_ifft mtlb_ones
mtlb_all mtlb_filter mtlb_is mtlb_plot
mtlb_any mtlb_find mtlb_ishold mtlb_prod
mtlb_axes mtlb_findstr mtlb_isreal mtlb_qz
mtlb_cell mtlb_fliplr mtlb_lenght mtlb_rand
mtlb_choices mtlb_flipud mtlb_load mtlb_save
mtlb_clf mtlb_fprintf mtlb_loglog mtlb_semilogx
mtlb_cumsum mtlb_fread mtlb_manx mtlb_semilogy
mtlb_diff mtlb_fscanf mtlb_mean mtlb_sprintf
mtlb_e mtlb_fwrite mtlb_median mtlb_sscanf
mtlb_eval mtlb_get mtlb_mesh mtlb_subplot
mtlb_exist mtlb_hold mtlb_meshdom
mtlb_eye mtlb_i mtlb_min

Mas información acerca de la equivalencia de funciones entre Matlab y Scilab:

http://help.scilab.org/docs/5.4.1/fr_FR/section_36184e52ee88ad558380be4e92d3de21.html

En cuanto a conversión de binarios de Matlab a Scilab, en la página de ayuda de Scilab encontramos comandos relativos a esta tarea:

loadmatfile — Carga un archivo Matlab (binario o ASCII) Scilab
matfile_close — Cierra un binario de Matlab
matfile_listvar — Lista de variables de un binario de Matlab.
matfile_open — Abre un archivo binario de Matlab.
savematfile — Guarda un archivo como binario de Matlab.

Más información en:

http://help.scilab.org/docs/5.4.1/en_US/section_f65ed0ac8c3f21fcb03855b5ee46c71c.html

Enlaces:

Ejercicios con Scilab

Página oficial del proyecto

Descarga de la herramienta

One thought on “Descripción Scilab

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *