Professional Documents
Culture Documents
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Introducci
on a Scilab
1 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Tabla de contenido
1 Introducci
on
2 Matrices
3 Estructuras de Control
4 Funciones
5 Gr
aficas
6 Bibliografa.
Introducci
on a Scilab
2 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Tabla de contenido
1 Introducci
on
2 Matrices
3 Estructuras de Control
4 Funciones
5 Gr
aficas
6 Bibliografa.
Introducci
on a Scilab
3 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Introduccion
Scilab es un programa de distribuci
on gratuita desarrollado en un comienzo por INRIA
y ENCP, ahora es desarrollado por Scilab Enterprises.
En un comienzo se centraba en aplicaciones de
algebra lineal. Pero con los a
nos esta
aumentando su rango a distintas ramas cientficas, algunas de ellas son
Polinomios y funciones racionales,
interpolaci
on, aproximaci
on,
optimizaci
on, lineal cuadr
atica y de otros tipos.
ecuaciones diferenciales ordinarias, ecuaciones diferenciales parciales,
procesamiento de se
nales,
estadstica y muchas m
as.
Adem
as es capas de realizar gr
aficas en 2D y 3D. Cuenta con Xcos que es un entorno
similar a Simulink de Matlab para simulaci
on de sistemas din
amicos y resoluci
on de
sistemas de ecuaciones diferenciales
Introducci
on a Scilab
4 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Definir variables
En Scilab no es necesario declarar una variable antes de utilizarla,
las variables son creadas automaticamente son creadas. Ademas el
tipo y su tama
no se ajusta automaticamente.
-->a=3
a =
3.
-->a=3.1
a =
3.1
-->a=Hola
a =
Hola
-->a=[1 2]
a =
1.
2.
Introducci
on a Scilab
5 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Constantes
Algunas constantes de Scilab son
%pi
%i
%e
Representa el n
umero 3. 1416
Representa el parte imaginaria i
Representa el n
umero de Euler e 2. 7182
Comentarios
Cualquier linea que comienza con // es tomada como comentario
por Scilab
-->// Este es un comentario.
-->//
Introducci
on a Scilab
6 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
input
Imprime mensaje escrito y luego espera a que se ingresen datos del
teclado. Se utiliza la siguiente sintaxis
Para ingresar variables numericas
-->x=input(mensaje );
mensaje 123
Para ingresar texto
-->x=input(mensaje ,s);
mensaje HI
Introducci
on a Scilab
7 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
disp(variable)
Muestra los valores de datos sin formato para una variable.
-->x=[4,1,2];
-->disp(x)
4.
1.
2.
Introducci
on a Scilab
8 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
printf(formato,variables)
Muestra los datos de salida con formato.
-->x=3.2;y=Positivo;
-->printf(El numero es %s y su valor es %d,y,x)
El numero es Positivo y su valor es 3
Formato para variables con printf
%s
%d
%f
\n
\t
Introducci
on a Scilab
9 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Funciones trigonometricas
acos
acsc
asinh
cos
cothm
sinc
tanhm
acosd
acscd
asinhm
cosd
csc
sind
tanm
acosh
acsch
asinm
cosh
cscd
sinh
acoshm
asec
atan
coshm
csch
sinhm
acosm
asecd
atand
cosm
sec
sinm
acot
asech
atanh
cotd
secd
tan
acotd
asin
atanhm
cotg
sech
tand
acoth
asind
atanm
coth
sin
tanh
Ejemplo
-->tan(%pi/4)
ans =
1.
-->acos(-1)
ans =
3.1415927
Universidad Nacional de Colombia
Introducci
on a Scilab
10 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Otras funciones
abs
log
mini
ceil
log10
modulo
conj
log1p
pmodulo
exp
log2
sign
expm
logm
signm
floor
max
sqrt
imag
maxi
sqrtm
int
min
Ejemplo
-->abs(-1.1)
ans =
1.1
-->floor(3.2)
ans =
3.
Universidad Nacional de Colombia
Introducci
on a Scilab
11 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Operadores de comparacion
x<y
x<=y
x==y
x>y
x>=y
x=y o x<>y
x&y
x | y
x
Introducci
on a Scilab
12 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Introducci
on a Scilab
13 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Formatos
Por defecto, Scilab muestra el formato de las variables con 10 dgitos. Para modificar
el formato
format(14)
format(e)
format(v)
format(v,20)
format(e,15)
14 dgitos
formato cientfico o exponencial, como flotante
formato variable, por defecto
formato variable con 20 dgitos
formato cientfico 15 dgitos
Ejemplo
-->format(10)
-->%pi
%pi =
3.1415927
-->format(14)
-->%pi
%pi =
3.14159265359
Universidad Nacional de Colombia
Introducci
on a Scilab
14 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Otros comandos
Introducci
on a Scilab
15 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejercicios
Calcular las siguientes expresiones
1
f (x) = x 3 sen(x 2 ) 2x 2 con x = 0. 5, 1, 1. 8. Recuerde
que bxc denota la parte entera del numero x, es decir, el
entero mas grande menor o igual a x.
1 , x
3
= 0. 7.
x3
Introducci
on a Scilab
16 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Tabla de contenido
1 Introducci
on
2 Matrices
3 Estructuras de Control
4 Funciones
5 Gr
aficas
6 Bibliografa.
Introducci
on a Scilab
17 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Matrices
Introducci
on a Scilab
18 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Generando matrices
Los elementos de una matriz se introducen por filas con ; y cada
fila se separa por comas o espacios.
-->A=[1 2 3]
A =
1.
2.
3.
-->B=[1,2,3]
B =
1.
2.
3.
-->C=[1;2;3]
C =
1.
2.
3.
-->D=[1 2 3; 4 5 6; 7 8 9]
D =
1.
2.
3.
4.
5.
6.
7.
8.
9.
Introducci
on a Scilab
19 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
eye(m,n)
ones(m,n)
zeros(m,n)
rand(m,n)
Ejemplo
-->A=rand(3,2)
A =
0.5608486
0.6623569
0.7263507
0.1985144
0.5442573
0.2320748
Introducci
on a Scilab
20 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Operador :
Operador :
Para i, j n
umeros reales con i j, la sintaxis es
v=i:j
Esta linea genera el vector fila v = (i, i + 1, i + 2, . . . , j).
Ejemplo
-->v=-2:2
v =
- 2.
- 1.
0.
1.
2.
Introducci
on a Scilab
21 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Operador :
Si se busca especificar el salto la sintaxis en este caso
v=i:s:j
Genera el vector fila v = (i, i + s, i + s, . . . , j) con i j.
Ejemplo
-->v=-1:0.5:1
v =
- 1.
- 0.5
0.
0.5
1.
Introducci
on a Scilab
22 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Comando linspace
linspace(a,b,n)
En el caso en el que a y b son n
umeros reales, el comando genera
un vector fila de n vectores igualmente espaciados.
Ejemplo
-->linspace(-1.1,5,4)
ans =
- 1.1
0.9333333
2.9666667
5.
Introducci
on a Scilab
23 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
det(A)
sum(A)
prod(A)
max(A)
trace(A)
inv(A)
size(A)
length(A)
Determinante matriz.
Suma de los elementos de una matriz.
Producto de los elementos de una matriz.
Retorna la entrada de mayor valor de la matriz.
Retorna la traza de la matriz.
Retorna la inversa de la matriz.
Retorna el n
umero de filas y de columnas.
numero de entradas de la matriz.
Introducci
on a Scilab
24 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejemplo
-->A=[1 2 3; 10 11 1.2 ; %pi 2 3.1]
A =
1.
2.
3.
10.
11.
1.2
3.1415927
2.
3.1
-->det(A)
ans =
- 66.432735
-->size(A)
ans =
3.
3.
-->inv(A)
ans =
- 0.4771744
0.4098896
0.2191317
0.0030106
0.0952057
- 0.0644740
0.4606163
- 0.4335212
0.1354754
Introducci
on a Scilab
25 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
A
A(i,j)
A(i:j,k)
A(:,j)
A(i,j:k)
A(i,:)
La matriz completa
Elemento i,j de la matriz A.
Elementos de la fila i a la j en la columna k
Columna j de la matriz.
Elemento de a fila i de la columna j a la k.
Elemento de a fila i.
Introducci
on a Scilab
26 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejemplo
-->A=[1 2 3; 10 11 1.2 ; %pi 2 3.1]
A =
1.
2.
3.
10.
11.
1.2
3.1415927
2.
3.1
-->A(2:3,2)
ans =
11.
2.
-->A(3,:)
ans =
3.1415927
2.
3.1
-->A(1,2:3)
ans =
2.
3.
Introducci
on a Scilab
27 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Operaciones elementales
+
*
/
^
adici
on
sustracci
on
multiplicaci
on
divisi
on a derecha
potenciaci
on
.*
./
.^
.0
0
multiplicaci
on elemento a elemento
divisi
on a derecha elemento a elemento
potenciaci
on elemento a elemento
Transpone pero no conjuga
transpuesta conjugada
Introducci
on a Scilab
28 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejercicios
Introducci
on a Scilab
29 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Tabla de contenido
1 Introducci
on
2 Matrices
3 Estructuras de Control
4 Funciones
5 Gr
aficas
6 Bibliografa.
Introducci
on a Scilab
30 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Condicionales
comando if
Ejecuta un conjunto de instrucciones si se cumple una condicion
if condici
on then
instrucciones
end
if condici
on then
instrucciones 1;
else
instrucciones 2;
end
Introducci
on a Scilab
31 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
comando if
Ejecuta un conjunto de instrucciones si se cumple una condicion
if condici
on 1 [then]
instrucciones 1;
elseif condici
on 2 [then]
instrucciones 2;
elseif condici
on 3 [then]
instrucciones 3
else
instrucciones 4;
end
Introducci
on a Scilab
32 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejemplo
Se tiene el siguiente Script
A=[1,2,3;3 4 6];
[f,c]=size(A);
if f>c then
disp(La matriz tiene m
as filas que columnas);
elseif c>f then
disp(La matriz tiene m
as columnas que filas);
else
disp(La matriz es cuadrada);
end
Introducci
on a Scilab
33 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Sentencia select
Compara el valor de la variable con cada valor de case hasta que
encuentre una coincidencia, en caso contrario ejecuta la instruccion
else.
select Variable
case valor 1 [then]
instrucciones 1;
case valor 2 [then]
instrucciones 2;
...
else
instrucciones;
end
Introducci
on a Scilab
34 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejemplo
Se tiene el siguiente Script
x=2;
select x
case 1
disp(Uno);
case 2
disp(dos);
case 3
disp(tres);
else
disp(otro valor);
end
Introducci
on a Scilab
35 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ciclo For
Estructuras que repiten instrucciones seg
un un rango de valores
for indice-rango
instrucciones;
end
Ejemplo
x=0;
for i=1:10
x=x+1;
end
Introducci
on a Scilab
36 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejemplo
Se tiene el siguiente Script
v=[1.2 %e %pi];
for x=v
disp(x);
end
Tiene como salida
1.2
2.7182818
3.1415927
Introducci
on a Scilab
37 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ciclo While
Estructuras que repiten instrucciones mientras la condicion sea
verdadera
while condiciones
instrucciones;
end
Ejemplo
x=0;
while x<100
x=x+1;
disp(x);
end
Introducci
on a Scilab
38 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
break
El comando break interrumpe un ciclo
x=0;
while %t
if x>10
break
else
x=x+1
end
end
Al final el resultado
x
=
11.
Introducci
on a Scilab
39 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
continue
Hace que el compilador avance al siguiente ciclo.
for i=0:4
if modulo(i,2)==1 then
continue
end
disp(i);
end
Al final el resultado
0.
2.
4.
Introducci
on a Scilab
40 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Tabla de contenido
1 Introducci
on
2 Matrices
3 Estructuras de Control
4 Funciones
5 Gr
aficas
6 Bibliografa.
Introducci
on a Scilab
41 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Funciones
La estructura basica de una funci
on es
function [out1,..,outn]=nom_fun(inp1,inp2,..inpm)
cuerpo de funci
on
endfunction
Ejemplo
function y=pol2(x)
y=x^2;
endfunction
Introducci
on a Scilab
42 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Introducci
on a Scilab
43 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Definir funciones
Otra manera de definir las funciones es utilizar el comando deff
directamente en la consola. Sintaxis
deff([out]=func_nam(inp), cuerpo de funci
on)
Ejemplo
-->deff(y=sumab(a,b),y=a+b)
-->sumab(1,2)
ans =
3.
Introducci
on a Scilab
44 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejercicios
1
Introducci
on a Scilab
45 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejercicios
Se define la sucesi
on
sN :=
N
X
1
,
n2
n=1
Introducci
on a Scilab
46 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Tabla de contenido
1 Introducci
on
2 Matrices
3 Estructuras de Control
4 Funciones
5 Gr
aficas
6 Bibliografa.
Introducci
on a Scilab
47 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Graficas
Scilab puede producir muchos tipos de graficos 2D y 3D. Puede
realizar graficas x, y , graficas de contorno, superficies 3D,
histogramas entre otros muchos mas. Algunas funciones para
realizar graficas
plot
surf
contour
pie
histplot
bar
polarplot
graficas 2D
graficas 3D
graficas de contorno
diagrama pie
histograma
grafico de barras
graficas coordenadas polares
Introducci
on a Scilab
48 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejemplo plot
-->x=linspace(-1,1,50);
-->y=x.^3;
-->plot(x,y)
Introducci
on a Scilab
49 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Introducci
on a Scilab
50 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Introducci
on a Scilab
51 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Introducci
on a Scilab
52 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Graficas 3D
Hay varios comandos para realizar graficas 3D.
Ejemplo f (x, y ) = x 2 + y 2
-->x=linspace(-5,5,50);
-->y=linspace(-8,8,50);
-->[X,Y]=meshgrid(x,y);
-->Z=X.^2+Y.^2;
-->plot3d(X,Y,Z)
Introducci
on a Scilab
53 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Graficas 3D
Ejemplo f (x, y ) = x 2 + y 2
-->x=linspace(-5,5,50);
-->y=linspace(-8,8,50);
-->[X,Y]=meshgrid(x,y);
-->Z=X.^2+Y.^2;
-->surf(X,Y,Z)
Introducci
on a Scilab
54 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Ejercicios
Introducci
on a Scilab
55 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Tabla de contenido
1 Introducci
on
2 Matrices
3 Estructuras de Control
4 Funciones
5 Gr
aficas
6 Bibliografa.
Introducci
on a Scilab
56 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Bibliografa I
Baudin, M.
Programming in Scilab.
Consortium scilab, 2011.
Echevarra, R.
Una introduccion Rapida a Scilab.
http://personal.us.es/echevarria/documentos/
ApuntesScilab.pdf, 2014.
[Consulta en linea, 31-01-2015].
Nieves, A., and Domnguez, F. C.
Metodos Numericos Aplicados a la Ingeniera, 2 ed.
Compa
na Editorial Continental, 2002.
Introducci
on a Scilab
57 / 58
Introducci
on
Matrices
Estructuras de Control
Funciones
Gr
aficas
Bibliografa.
Bibliografa II
Introducci
on a Scilab
58 / 58