Scilab (1)
Scientific Computing Laboratory INRIA (Institut National de Recherche en Informatique et en Automatique) Sitio oficial: http://www.scilab.org
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Scilab (2)
Sin costo. Disponible el cdigo fuente. Amplia variedad de plataformas.
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Entorno (1)
Soluciones
Aplicaciones
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Entorno (2)
chdir cambia el directorio actual. clc limpia la ventana de comandos. clf limpia la venta de grficos. interrupt interrumpe la ejecucin. resume continua la ejecucin. abort finaliza la ejecucin. help ayuda.
pi= 3. 1416
a=
1 2 3 4 5 6
]
10
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
aritmtica
compleja
las
variables
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
11
Nombres de variables
Deben comenzar con una letra. Longitud mxima: 24 caracteres. Sensibles a maysculas y minsculas. Ej: A, BCD, C58, velocidad, tiempo1, etc.
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
12
Ejemplo
1 a= 3 5
[] []
2 b= 4 6
3 a +b= 7 11
[]
16
Pero a * b no esta definido (multiplicacin inconsistente) porque las dimensiones son incorrectas. Necesita utilizar .*
1 2 2 a . b= 3 4 = 12 5 6 30
13
[ ][ ]
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
C=
[4,2] .^ 3 = [4 ^ 3,2 ^3] = [64,8] 3 .^ [2,5] = [3 ^ 2,3 ^5] = [9,243] [5,3] .^ [2,4] = [5 ^ 2,3 ^ 4] = [25,81]
[ ] [ ]
1 1 3 0 2 0 2 1 5 1 1 4 F= 2 0 2 1 5 1 1 4
17
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
14
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Suma
A+B
[4 6 ; 8 5] + [2 3 ; 9 1] = [6 9 ; 17 6]
Resta
A-b
[4 6 ; 8 5] [2 3 ; 9 1] = [2 3 ; -1 4]
Multiplicacin
A*B
[4 6 ; 8 5] * [2 3 ; 9 1] = [62 18 ; 61 29]
/ \
A/B A\B
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
15
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
18
Matrices especiales
Programas (1)
1 0 0 eye (3)= 0 1 0 0 0 1
1 1 1 ones(3 )= 1 1 1 1 1 1
[ ] [ ]
0 0 zeros(3,2) = 0 0 0 0
[ ]
]
19
Se puede cargar y guardar cdigo en un archivo de texto. Existen dos tipos: scripts, funciones.
ones( 2,4 )= 1 1 1 1 1 1 1 1
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
22
Grficos (1)
plot2d: grafica a partir de vectores.
--> x = -2 : 0.01 : 3; --> y = sin(x); --> plot2d(x, y);
Programas (2)
Scripts
Extensin (.sce). Es un archivo ASCII que contiene una secuencia de instrucciones. No tienen parmetros de entrada ni de salida. Las variables son compartidas como el rea de trabajo. exec (nombre del script).
fplot2d: obtiene la grfica de una funcin definida por el usuario. Exportar grfico.
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
20
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
23
Grficos (2)
Programas (3)
Funciones
Extensin (.sci). Pueden tener parmetros de entrada y de salida. Tiene una o ms funciones. Las variables son locales a la funcin.
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
21
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
24
Programas (4)
Ejemplo de un script A=[3 4 12; 8 9 7]; B=[30 14 2; 88 79 47]; disp(A+B) Ejemplo de una funcin function [y] = cuadrado(x) y = x ^ 2; endfunction
Salidas
Se imprime en pantalla automticamente (a menos que se coloque ;) Utilice disp para imprimir una variable en pantalla. disp (3 * 6) disp(temperatura=)
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
25
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
28
Archivos de datos
Permite cargar o guarda los valores de las variables. --> a=eye(2,2);b=ones(a); --> save('val.dat',a,b); --> clear a --> clear b -->load (val.dat')
Formatos
El formato utilizado no afecta a la precisin interna, slo a la forma en la que se presentan al usuario los resultados. format (tipo, longitud)
tipo:
e: notacin cientfica / v: formato variable
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
26
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
29
Entradas interactivas
La funcin input permite solicitar al usuario valores directamente desde la ventana de comandos. nombre = input(Ingrese su nombre: ','s'); edad = input(Ingrese su edad: '); email = input(Ingrese su email: ','s');
Estructuras de programas
Operadores de relacin y lgicos. Secuencia Seleccin Iteracin
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
27
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
30
Operadores de relacin
Scilab == ~= <> < <= > >= Interpretacin es igual a no es igual a es menor que es menor o igual a es mayor que Es mayor o igual a
Seleccin (1)
if if (condicin) sentencias end if (x < = -1.0 | x > = 1.0) y=0 end
31 Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn 34
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
Operadores lgicos
Scilab & | ~ Interpretacin and or not
Seleccin (2)
if else if (condicin) sentencias else sentencias end
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
32
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
35
Secuencia
Las instrucciones son ejecutadas secuencialmente desde el inicio hasta el final. a = 4 + 3 ^ 2; b = sqrt(a); c = a + b;
Repeticin (1)
for for indice = inicio : paso : fin sentencias end for i = 1 : 1 : m for j = 1 : 1 : n a(i,j) = (i + 1) ^ 2 * sin(0.2 * j * pi); end end
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn 36
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
33
Repeticin (2)
while while condicin sentencias end
i=1 while i <= m j=1 while j <= n a(i,j) = (i + 1) ^ 2 * sin(0.2 * j * pi); end end
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn 37
Bibliografa
Hctor M. Mora Escobar - Introduccin a SCILAB - Departamento de Matemticas Univ. Nacional de Colombia - 2002 Scilab Group - Introduction to Scilab - INRIA Meta2 Project/ENPC Cergrene Steven C. Chapra Raymond P. Canale Mtodos Numricos para ingenieros - Mc Graw Hill
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn
38