Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LIBRE DISTRIBUCIÓN
DE UTILIDAD EN
MATEMÁTICAS
SCILAB
MASCOTA
LOGO (frailecillo)
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
SCILAB
Paquete de software de código abierto para
computación científica (cálculo numérico, operaciones
matriciales, aplicaciones científicas y de ingeniería)
SCIentific LABoratory MATrix LABoratory
(pero no igual)
Posibilidades:
• calculadora matricial
• cientos de funciones ( de propósito general y
especializadas ) para cálculo numérico y
visualización gráfica
• lenguaje de programación propio (interpretado)
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
SCILAB
http://www.scilab.org/
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
VERSIÓN ACTUAL: 4.1.2
PLATAFORMAS:
GNU/Linux
Windows 2000/XP/VISTA
HP-UX
INSTALACIÓN:
http://www.scilab.org/download/
(BINARIOS Y FUENTES)
DOCUMENTACIÓN:
http://www.scilab.org/product/
http://www.scilab.org/publications/
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Al arrancar Scilab en Windows:
linea de comandos
O S
A ND
OM
E C
N AD
A
ENT
V
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Barra de herramientas:
abrir help
cambiar directorio
copiar / pegar
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Ayuda on-line: HELP BROWSER
para alternar entre el índice
de la ayuda y la búsqueda
de comandos o palabras -
clave
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Ayuda on-line: comando help
-->
-->help exp
En la ventana del HELP BROWSER aparecerá la
descripción de la función exp
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Ayuda on-line: comando help
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Ayuda on-line: comando apropos
-->
-->apropos random
Scilab mostrará, en la ventana del HELP BROWSER, la
lista de los comandos en cuya descripción aparece la
palabara random
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Algunas muestras de lo que Scilab hace: DEMOS
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Algunas muestras de lo que Scilab hace: DEMOS
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Algunas muestras de lo que Scilab hace: DEMOS
demo
órdenes
que
producen la
demo
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Por defecto, los números son codificados como
números reales en coma flotante en doble precisión
Algunas constantes numéricas están predefinidas. Su
nombre comienza por % :
%pi : nú
número pi
%e : nú
número e
%i : unidad imaginaria
%inf : infinito (overflow)
%nan : not a number
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Operadores aritméticos
+ - * / ^
Operadores de comparación
& | ~
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Los nombres de las funciones elementales son los
habituales
Se puede encontrar el nombre de una función ó bien
en el epígrafe "Elementary functions" del HELP
BROWSER ó bien utilizando el comando apropos:
-->apropos
-->apropos logarithm
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
sqrt(x) raiz cuadrada sin(x) seno (radianes)
abs(x) módulo cos(x) coseno (radianes)
conj(z) complejo conjugado tan(z) tangente (radianes)
real(z) parte real cotg(x) cotangente (radianes)
imag(z) parte imaginaria asin(x) arcoseno
exp(x) exponencial acos(x) arcocoseno
log(x) logaritmo natural atan(x) arcotangente
log10(x) logaritmo decimal cosh(x) cos. hiperbólico
rat(x) aprox. racional sinh(x) seno hiperbólico
modulo(x,y) resto de dividir x por y tanh(x) tangente hiperbólica
floor(x) n tal que n<=x<(n+1) acosh(x) arcocoseno hiperb.
ceil(x) n tal que (n-1)<x<=n asinh(x) arcoseno hiperb.
int(x) parte entera inglesa: atanh(x) arcotangente hiperb.
floor(x) si x>=0
ceil(x) si x<0
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Ejemplos:
-->7*exp(5/4)+3.54^2
-->7*exp(5/4)+3.54^2
ans = 36.964001
-->2*(1+3*%i)
-->2*(1+3*%i)
ans = 2. + 6.i
-->sqrt(34*exp(2))/(cos(23.7)+12)
-->sqrt(34*exp(2))/(cos(23.7)+12)
ans = 1.3058717
-->exp(2+3*%i)
-->exp(2+3*%i)
ans = - 7.3151101 + 1.0427437i
-->sqrt(
-->sqrt(-
>sqrt(-5)
ans = 2.236068i
1. USO COMO CALCULADORA
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
La utilización de variables en Scilab es DINÁMICA: su
tipo y su tamaño cambian de forma dinámica en
función de los valores que le son asignados.
-->a=7.38
-->a=7.38
-->b=%e*cosh(a)
-->b=%e*cosh(a)
-->a=rand(5,5)
-->a=rand(5,5)
-->a='la
-->a='la solucion es:'
Scilab distingue entre mayúsculas y minúsculas:
xt y Xt son variables distintas
2. VARIABLES
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Las matrices bidimensionales de números reales o
complejos son los objetos básicos con los que trabaja
Scilab. Los vectores y escalares son casos
particulares de matrices.
Construcción elemental de matrices:
-->v=[1,
-->v=[1,-
>v=[1,-1,0,sin(2.88)]
vector-
vector-fila (matriz 1x4)
-->w=[0;1.003;2;3;4;5*%pi]
-->w=[0;1.003;2;3;4;5*%pi]
vector-
vector-columna (matriz 5x1)
-->a=[1,2,3,4;5,6,7,8;9,10,11,12]
-->a=[1,2,3,4;5,6,7,8;9,10,11,12]
matriz 3x4
3. MATRICES
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
-->v1=a:h:b
-->v1=a:h:b
(a,a+h,a+2h,a+3h,....c)
-->v2=a:b
-->v2=a:b
(a,a+1,a+2,a+3,....c)
-->v3=v2
-->v3=v2’
>v3=v2’
traspuesta conjugada
-->v4=v2.
-->v4=v2.’
>v4=v2.’
traspuesta sin conjugar
3. MATRICES
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Ejemplos:
-->v1=1:4
-->v1=1:4
-->v2=[v1,5;0.1:0.1:0.5]
-->v2=[v1,5;0.1:0.1:0.5]
-->v3=[v2',[11,12,13,14,15]']
-->v3=[v2',[11,12,13,14,15]']
3. MATRICES
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
-->diag([1,2,3,4])
-->diag([1,2,3,4])
-->zeros(2,4)
-->zeros(2,4)
-->7*ones(5,1)
-->7*ones(5,1)
-->eye(2,3)
-->eye(2,3)
3. MATRICES
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
linspace(a,b,n) Si a y b son números reales y n un número entero, genera una
partición regular del intervalo [a,b] con n nodos (n-1
subintervalos)
linspace(a,b) Como el anterior, pero se asume n=100
logspace(e,f,n) Vector con n elementos logarítmicamente espaciados desde
10^e hasta 10^f, es decir
logspace(e,f) Como el anterior, pero se asume n=50
-->linspace(1,2,4)
-->linspace(1,2,4)
-->logspace(1,2,4)
-->logspace(1,2,4)
3. MATRICES
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
Operadores aritméticos:
• cuando tenga sentido, las operaciones habituales
• cuando precedidos de un punto, operaciones
elemento a elemento
A+B (A-
(A-B) aij + bij ( aij + bij )
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
La mayoría de las funciones Scilab están hechas de
forma que admiten matrices como argumentos. Esto
se aplica en particular a las funciones matemáticas
elementales y su utilización debe entenderse en el
sentido de "elemento a elemento":
5. FUNCIONES Y MATRICES
SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
• Se puede usar la sintaxis habitual:
v(2) A(i,j) A(k)
• Se pueden designar, de distintas formas, conjuntos
de elementos de una matriz o vector:
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
• Se pueden usar vectores booleanos:
B vector booleano
v(B) elementos de v cuyo correspondiente elemento
de B sea verdadero (%t)
(%t
-->B=[
-->B=[ %t , %f% , %t , %f , %t ]
-->v=[1,2,3,4,5,6,7,8,9]
-->v=[1,2,3,4,5,6,7,8,9]
-->v(B)
-->v(B)
ans =
1 3 5
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
OBSERVACIONES:
1. Cuando se asigna un valor a un elemento que
no existe de una matriz, la dimensión de la matriz
se modifica para incluir dicho elemento.
Ejemplo:
-->A=[1,2;3,4]
-->A=[1,2;3,4]
-->A(3,3)=24
-->A(3,3)=24
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
OBSERVACIONES:
2. Scilab posee un buen número de herramientas
para manipular matrices huecas (sparse), de
interés primordial en la resolución de problemas
formulados en términos de ecuaciones diferenciales.
No se ven aquí.
-->
--> apropos sparse
Rosa Echevarría Líbano - Dpto. de Ecuaciones Diferenciales y Análisis Numérico - Univ de. Sevilla
OBSERVACIONES:
3. Funciones útiles en cálculos matriciales:
sum(A) suma de las componentes de la matriz A
sum(A,1), sum(a;'r') vector fila (row) conteniendo la suma de los elementos de cada columna de A
sum(A,2), sum(a;'c') vector columna conteniendo la suma de los elementos de cada fila de A