Está en la página 1de 6

Elija un elemento.

Scilab
Scilab

Albierick Jaramillo1, Jaime Xian1, Xavier Aizprúa1, Daniel Puerta1, Alexander Abrego1, Juan Otero1, Bruno Martiz1, Kaira
Jimenez1
1
Licenciatura en ingeniería mecánica - facultad de ingeniería mecánica - Universidad Tecnológica de Panamá

Resumen En este artículo acerca del software Scilab usted podrá informarse acerca de esta útil herramienta y aprender sus usos.
Mas adelante se le explicara de lo que es capaz esta aplicación aunque he de remarcar que si de verdad quiere aprender a usar
Scilab, será mejor que la pruebe usted mismo ya que solo leer un artículo no lo hará experto en la materia. Desde hacer simples
sumas o restas hasta realizar complejas graficas en 2d y 3d, Scilab es capaz de comprender muchas aplicaciones tanto ingenieriles
como científicas lo que lo hace una excelente aplicación para cualquiera que aspire a cualquier ingeniería.

Palabras clave Aplicaciones, herramienta, Scilab

Abstract In this article about Scilab software you will be able to find out about this useful tool and learn its uses. Later on it will
be explained what this application is capable of, although I must point out that if you really want to learn how to use Scilab, it
would be better to try it yourself since just reading an article will not make you an expert in the field. From doing simple additions
or subtractions to making complex 2d and 3d graphics, Scilab is capable of completing many applications, both engineering and
scientific, making it an excellent application for anyone aspiring to any engineering.

Keywords Applications, tool, Scilab

2. Introducción
Scilab es un software libre de código abierto utilizado
Los requerimientos del sistema son:
para el cálculo científico, también es útil cuando se trata de
cálculo numérico, operaciones matriciales pero mas
 Microsoft Windows: Windows XP, 7, 8.
específico para aplicaciones científicas e ingenieriles. INRIA Procesador Pentium IV o equivalente, 1 GB RAM (2 GB
(Institut National de Recherche en Informatique penw et en recomendado), y 600 MB de espacio en disco duro.
Automatique) desarrolló un software para el diseño de control
de sistemas asistido por computador, lo llamaron Blaise.  GNU/Linux: Procesador Pentium III o equivalente,
Tiempo después el nombre cambiaria a Scilab y su 1 GB RAM (2 GB recomendado), y 550 MB de espacio
desarrollo continuaría a través de Scilab Group, en disco duro.
conformado por investigadores del INRIA y de la École
 Mac OS X: Procesador Intel 64 bits, 1 GB RAM (2
nationale des ponts et chaussées. Luego, se decidió que
GB recomendado), y 500 MB de espacio en disco duro.
Scilab fuera distribuido como software de código abierto.
Scilab es básicamente una súper calculadora con cientos de Algunas funciones que puedes realizar en Scilab son las
funciones que puedes utilizar a antojos y también permite siguientes
realizar gráficos 2d y 3d.
13.1 Objetos y Sintaxis
3. Materiales y métodos
En SCILAB, por defecto, los números son arimeticas Aritméticos + - * / ^
codificados como números reales en coma flotante comparacion Comparación == ≅ (o <>) < >
en doble precisión. La precisión, esto es, el número ≤ ≥
de bits dedicados a representar la mantisa y el logicos Lógicos & | ~
exponente, depende de cada tipo de máquina. El
objeto básico de trabajo de SCILAB es una matriz
bidimensional cuyos elementos son números reales o  Funciones
complejos. Escalares y vectores son casos
particulares de matrices. También se pueden
manipular matrices de cadenas de caracteres,
booleanas, enteras y de polinomios. Sqrt(x) raiz asin(x) arcoseno
cuadrada
Abs (x) módulo acos (x) arcocoseno
Conj(z) complejo atan(x) arcotangente
1.13.2 Constantes conjugado
Rea l parte real cosh(x) coseno hiperbólico
Algunas constantes numéricas están predefinidas.
(z)
Sus nombres comienzan por el símbolo %. Imag parte sinh(x) seno hiperbólico
(z) imaginaria
%pi Numero pi %eps Proceso de Sin(x) seno tanh(x) tangente hiperbólica
la maquina (radianes)
&e Base %inf Infinito de la Cos(x) coseno acosh(x) arcocoseno
logaritmo maquina (radianes) hiperbólico
natural
Tan(z) tangente asinh(x) arcoseno hiperbólico
%i Unidad %nan Resultado de (radianes)
imaginaria op. invalida
Cotg(x) cotangent atanh(x) arcotangentehiperból
e ica
(radianes)
El lenguaje de SCILAB es interpretado, es decir, las Exp(x) exponenci rat(x) aprox. Racional
instrucciones se traducen a lenguaje maquina una a una y se al
ejecutan antes de pasar a la siguiente. Es posible escribir Log(x) logaritmo modulo(x, resto de dividir x por
varias instrucciones en la misma línea, separándolas por una natural y) y
coma o por punto y coma. SCILAB distingue entre Log10( logaritmo floor(x) n tal que n≤x<(n+1)
mayúsculas y minúsculas: %nan NO ES LO MISMO QUE x) decimal
%Nan o que %NAN. Se pueden recuperar comandos Int(x) parte ceil(x) n tal que (n-1)<x≤n
entera
anteriores, usando las teclas de flechas arriba y abajo. Con las
inglesa
flechas izquierda y derecha nos podemos desplazar sobre la
línea de comando y modificarlo.
.3 Uso de la calculadora
 Constantes
Se puede utilizar Scilab como simple calculadora,
reales 8.01 -5.2 0.056 1.4e+4 0.32E-2 -.567d- escribiendo expresiones aritméticas y terminando
21 8.003D-12 por RETURN (<R>). Se obtiene el resultado
complejos 1+2*%i inmediatamente a través de la variable del sistema
booleanos %t %f ans (answer). Si no se desea que Scilab escriba el
caracteres ‘esta es una cadena de caracteres’ “string” resultado en el terminal, debe terminarse la orden
por puntoy coma.

 Operadores
.4 Variables
En Scilab las variables no son declaradas, por lo Diag(x) Si x es un vector crea una matriz
tanto, hay que asignarlas manualmente y cambiarlas diagonal con x en la diagonal
a los gustos deseados. principal.
Diag(A) Si A es una matriz crea un vector con
Who Lista de variables la diagonal principal como elementos.
Whos Lista de variables detallada Zeros(m,n) Matriz de m filas y n columnas con
Who_user Lista de variables creadas por el todos elementos ceros
usuario Ones(m,n) Matriz de m filas y n columnas con
Clear Elimina todas las variables todos elementos unos
Clear a b c Elimina las variables a, b y c Eye (m,n) Matriz de m filas y n columnas con
diagonal principal de unos
Linspace(a,b,n) Si a y b son números reales y n un
número entero, genera un vector fila
con una partición regular del intervalo
.5 Formato [a,b] de n nodos (n-1 subintervalos)
En Scilab las variables son representadas en formato Linspace(a,b) Igual al anterior pero con n=100
“variable”, es decir con 10 dígitos. La función format Logspace(a,b,n) Vector fila con n elementos
permite modificar la presentación. logarítmicamente espaciados desde
10^a hasta 10^b
Format(20) Presentación con 20 dígitos Logspace(a,b) Igual al anterior pero con n=50
Format(‘e’) Formato científico con puntoflotante Rand(m,n) Matriz de m filas y n columnas con
Format(‘v’) Formato variable (por defecto) todos elementos aleatorios.
Format(‘v’,20) Formato variable con 20 dígitos
Format(‘e’,14) Formato científico con 14 dígitos

 Comandos útiles  Operaciones con matrices


Dir Lista de archivos del directorio Sean: A y B matrices de elementos aij y bij y k un
Pwd Devuelve el nombre y path del directorio escalar
actual
Cd Para cambiar de directorio A+B (A-B) matriz de elementos aij + bij ( aij – bij
Clc “Limpia” la ventana de comandos ) (con dimensiones iguales)
Date() Fecha actual A*B producto matricial de A y B (con
dimensiones adecuadas)
A^k matriz A elevada a la potencia k si
.6 Matrices k entero>0, A^k=A*A *…*A si k
La forma de ingresar las matrices es entre corchetes entero <0, A^k= (inv(A))^(-k)
([…]) por filas, los elementos de la fila se separan A+k matriz de elementos aij + k
A-k matriz de elementos aij – k
con comas y las filas se separan con punto y coma.
A/k =(1/k)*A matriz de elementos aij / k
k./A matriz de elementos k / aij
v1=a:h:b // crea un vector fila de números desde a
hasta un número k.^A matriz de elementos k ^ ( aij )
// c ≤ b, tal que c+h > b, con incrementos A.*B matriz de elementos aij * bij (con
de h dimensiones iguales)
v2=a:b // como el anterior, con paso h=1 A./B matriz de elementos aij / bij (con
v3=v2’ // matriz traspuesta (conjugada si es dimensiones iguales)
compleja) A.^B matriz de elementos aij ^ bij (con
dimensiones iguales)
v4=v2.’ // matriz traspuesta sin conjugar

Algunas funciones para crear matrices: .6.1 Funciones con matrices


La mayoría de las funciones Scilab están hechas de forma  Manipulación de los elementos de una matriz
que admiten matrices como argumentos. Esto se aplica en
particular a las funciones matemáticas elementales y su V(i) i-ésima componente del vector v
utilización debe entenderse en el sentido de “elemento a A(i,j) Elemento de la fila i y columna j de la
matriz A
elemento”
A(i:j,m:n) Matriz formada por las filas de la i a la j y
las columnas de la m a la n extraída de la
Sum(A) suma de las componentes de la matriz A matriz A
Sum(A,1) es un vector fila (row) conteniendo la
A(:,n) n-ésima columna de la matriz A
sum(A;’r’) suma de los elementos de cada columna
A( Representa todos los elementos de A en un
de A
vector columna
Sum(A,2) es un vector columna conteniendo la
A(i,j)=k Reemplaza el valor de aij por k
sum(A;’c’) suma de los elementos de cada fila de A
A(i:j,m:n)=k La submatriz A(i:j,m:n) se llena con k
Trace(A) traza de A : sum(diag(A))
A(:,n)=[ ] El símbolo [ ] representa una “matriz
Prod(A) producto de las componentes de la
vacía“. Esta instrucción ELIMINA la n-
matriz A
ésima columna de A.
Prod(A,1), es un vector fila (row) conteniendo el
prod(A,’r’) producto de los elementos de cada
columna de A
Prod(A,2), es un vector columa conteniendo el  Sistemas lineales
prod(A,’c’) producto de los elementos de cada fila
A\b Calcula la solución del sistema lineal
de A
de ecuaciones Ax=b. A\b es como A-
1b .
Det(A) Determinante de una matriz cuadrada
 Funciones con matrices A.
Rank(A) Rango de la matriz A.
Max(A) máximo de las componentes de
Max(A,’r’), la matriz A máximos de
Inv(A) Matriz inversa de la matriz A.
max(A,’c’) columnas y filas resp. (como
Pinv(a) Pseudo-inversa de la matriz A . Es una
antes)
matriz cuadrada X tal que: A*X*A =
Mean(A) media de las componentes de la
A, X*A*X = X, además A*X y X*A
Mean(A,’r’), matriz A medias de columnas y
son Hermitianas .
mean(A,’c’) filas resp. (como antes)
Norm(v) norma euclídea del vector v
[X,V]=spec(A) V : matriz cuadrada diagonal con los
norm(v,2)
autovalores y X : matriz cuadrada
Norm(v,p) norma-p del vector v:
inversible cuya i-ésima columna es el
sum(abs(v).^p)^(1/p)
autovector asociado al i-ésimo
Norm(v,’inf’) norma infinito del vector v: autovalor.
norm(v,%inf) max(abs(v))
Norm(A) máximo autovalor de la matriz A
norm(A,2)
Norm(A,1) norma-1 del matriz A: máximo
 Polinomios
entre las sumas de sus columnas: Poly(A,”x”) Si A es una matriz
max(sum(abs(A),’r’)) cuadrada, es el polinomio
Size(A) devuelve, en un vector fila, las característico de la matriz
dimensiones de la matriz A A, con variable simbólica
Length(A) devuelve un escalar con el x
número de elementos de la A=companion(p) Genera una matriz
matriz A: si A es un vector, cuadrada llamada de
length(A) es su longitud; si A es Frobenius cuyo
una matriz length(A) es el polinomio característico
producto de sus dimensiones es p
Poly(v,”x”,”roots”) Genera un polinomio con
variable simbólica x
cuyas raíces son los espacio de trabajo de una sesión de Scilab mediante el
elementos del vector v comando exec. Se pueden incluir varias funciones en un
Poly(v,”s”,”coeff”) Genera un polinomio con mismo fichero, una a continuación de otra.
variable simbólica s
cuyos coeficientes son los
elementos del vector v
(en potencias
ascendentes)
T=poly(0,”t”) p=1+t- Permite crear una variable
*t^2+3*t^3 para luego ser utilizada en 4. Conclusiones
la creación de polinomios Ya habiendo terminado el contenido del artículo, toca
en forma algebraica. resaltar las virtudes de esta maravillosa aplicación. La súper
Roots(p) Raíces del polinomio p. calculadora Scilab puede hacer desde pequeñas sumas hasta
Horner(P,x) Evalúa el valor del complicadas funciones matemáticas como pueden ser las
polinomio P en los puntos funciones trigonométricas e inclusive las puede graficar.
determinados por el Aprender a usar esta herramienta puede parecer complicado
vector x.
al inicio pero con suficiente práctica uno puede dominar lo
Coeff(P) Calcula los coeficientes
del polinomio que sea. Lo único malo que le vería a este software es que no
Pdiv(p1,p2) Cociente de polinomios es accesible para todos ya que contiene ciertas
especificaciones que lo hacen no aptas para absolutamente
.7 Scripts todas las computadoras existentes actualmente. Fuera de eso
Un script es un conjunto de instrucciones (de cualquier si usted es capaz de instalar Scilab lo invito a que lo intente
lenguaje) guardadas en un fichero (usualmente de texto) ya que es de gran ayuda y utilidad.
que son ejecutadas normalmente mediante un intérprete.
Son útiles para automatizar pequeñas tareas. También
puede hacer las veces de un “programa principal” para
ejecutar una aplicación. AGRADECIMIENTOS
Para generar un script en Scilab se utiliza el editor Agradecimiento para todas las personas de este grupo por
SciNotes, se puede acceder del menú o utilizandoel aportar su granito de arena en la realización de este artículo.
comando scinotes(). Por convenio, los scripts de Scilab
tienen el sufijo .sce . REFERENCIAS
https://es.wikipedia.org/wiki/Scilab
Para ejecutar un script se utiliza la expresión: http://www3.fi.mdp.edu.ar/control4c7/APUNTES/Introduccion
exec(“nombre del archivo”), este comando repite todas las %20a%20ScliLab.pdf
instrucciones del script en la consola de operación. Si no
se desea representar las instrucciones se puede usar el
comando de la siguiente forma: exec(“nombre del
archivo”,-1).

.8 Funciones

Es posible definir nuevas funciones Scilab. La diferencia


entre un script y una función es que esta última tiene una
“interfase” de comunicación con el exterior mediante
argumentos de entrada y de salida. Las funciones se
pueden definir on-line o bien escribiéndolas en un fichero
(ASCII). A los ficheros que contienen funciones Scilab,
por convenio, se les pone el sufijo .sci . Las funciones
definidas on-line están disponibles de modo inmediato.
Las funciones guardadas en un fichero hay cargarlas en el

También podría gustarte