Está en la página 1de 46

CURSO DE SCILAB

INTRODUCCIÓN

PRIMERA PARTE
CONTENIDO
• El programa
• Entornos de Trabajo
• Uso del Help
• Operaciones con Vectores y Matrices
• Operaciones con Funciones
• Graficación
• Programación
• Debugger
¿QUÉ ES SCILAB?
• Scilab es un lenguaje de programación de alto
nivel para cálculo científico, interactivo de libre
uso y disponible en múltiples sistemas operativos
desarrollado por Institut National de Recherche
en Informatique et Automatique y École
Nationale des Ponts et Chaussées desde 1990..
• Scilab fue creado para hacer cálculos numéricos
aunque también ofrece la posibilidad de hacer
algunos cálculos simbólicos.

• Posee cientos de funciones matemáticas y la


posibilidad de integrar programas en los
lenguajes más usados (FORTRAN, Java y C y C++ ).

• Scilab es un sistema abierto, el usuario puede


definir nuevos tipos de datos y operaciones.
• Scilab viene con numerosas herramientas:
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.

• Scilab paralelo empleando PVM, Estadísticas,


Interfaz con el cálculo simbólico (Maple, MuPAD),
Interfaz con TCL/TK.
¿POR QUÉ SCILAB?
• Calidad científica
• Potencia
• Flexibilidad
• Facilidad de uso
• Interactividad
• Transparencia
• Gráficos
ELEMENTOS BÁSICOS DEL ESCRITORIO
• Command Windows: Donde se ejecutan todas las instrucciones y
programas. Se escribe la instrucción o el nombre del programa y se da
a Enter.

• Help (también se puede usar desde comand windows)

• Workspace: Para ver las variables que se están usando y sus


dimensiones (si son matrices)
• Los elementos básicos del SCILAB, como
cualquier otro lenguaje de programación, son:

– Constantes
– Variables
– Operaciones
– Expresiones
– Funciones.
CONSTANTES O
VARIABLES PREFIJADAS
• ans Nombre de la variable por defecto usado en los
resultados
• %pi Número
• %e Constante de Napier (número de Euler)
• %eps El más pequeño de los números que al sumarle 1
da un número en coma flotante mayor que 1
• %inf Infinito
• %nan Indefinido
• %i Unidad de los imaginario
VARIABLES
• Números enteros: 2 35 -48
• Números reales: 2. -35.2 48.45
• Máximo de 16 cifras significativas
• Utilizando la letra “e” a continuación de un número
con punto decimal.
• Números complejos: 2+3*%i
OPERACIONES CON ESCALARES
 v+k adición o suma
 v-k sustracción o resta
 v*k multiplicación
 v/k divide por k cada elemento de v
 k./v divide k por cada elemento de v
 v.^k potenciación cada componente de v esta elevado a k
 k.^v potenciación k elevado cada componente de v
OPERACIONES CON ESCALARES
Resolver
12
10 5 4
20
1 2 3 2 0.51.5

>> (10+5*(4)^(1/2))/(1-(2^(-3/2)-0.5^1.5))

ans =

20

Ejercicio

42.1768 234 9.8 *1014 5.876 *10 5

210 10247 9.987 *105 106


OPERACIONES CON ESCALARES

Calcule el volumen de una esfera de cinco metros de radio:

>> r = 5;
>> A = (4*%pi*r ^ 2)/3

A =
104.7198
ALGUNAS FUNCIONES TIPICAS
USADAS EN ESCALARES
COMANDO DE LA FUNCIÓN DESCRIPCIÓN
sqrt(x) Raíz Cuadrada
abs(z) Valor Absoluto o Módulo
conj(z) Conjugado de un complejo
real(z) Parte real de Z
imag(z) Parte imaginaria de Z
exp(x) Función Exponencial (base “e”)
sin(x) – cos(x) – tan(x) Funciones Trigonométricas
log(x) Logaritmo Neperiano (base “e”)
log10(x) Logaritmo Natural (base 10)
ALGUNAS FUNCIONES TIPICAS
USADAS EN ESCALARES
COMANDO DE LA FUNCIÓN DESCRIPCIÓN
Log2(x) Logaritmo base 2
asin(x) – acos(x) – atan(x) Función Trigonométricas Inversas
sinh(x) – cosh(x) – tanh(x) Funciones Trigonométricas Hiperbólicas
asinh(x) – acosh(x) – atanh(x) Funciones Hiperbólicas Inversas
Hallar el valor de X en el triángulo rectángulo que tiene
hipotenusa igual a 50 y el ángulo opuesto al cateto es de 30º

>> h = 50;
>> Teta= 30*%pi/180;
>> X = 50*sin(Teta)
X 50
X =

30º 25.0000

NOTEN QUE SE REALIZO UNA CONVERSIÓN DE


GRADOS A RADIANES. ESTO NECESARIO PARA
EFECTOS DEL CÁLCULO. SCILAB ESTABLECE COMO
CRITARIO EL USO DE RADIANES EN EL ARGUMENTO
DE LAS FUNCIONES TRIGONOMETRICAS.
En un triangulo rectángulo para el cual se conoce que uno de sus
catetos tiene 10 cm y la hipotenusa de 15 cm. Encuentre el
ángulo que se forma entre ellos.

>> Alfa = (180/%pi)*acos(10/15)


Alfa
15
Alfa =
10
48.1897
Encuentre el módulo, la parte real, la parte imaginaria y el ángulo del
número complejo mostrado a continuación.

>> a = 3+4*%i;
>> A = abs(a), R = real(a), I = imag(a)

A =
5

R =
3

I =
4

>> Teta= (180/%pi)*atan (I/R)

Teta =
53.1301
» function y=f(x); y=36/(8+exp(-x)); endfunction

» f(15)
ans =

4.4999998

ALGUNAS VERSIONES MODERNAS DE SCILAB


RECOMIENDAN USAR EL COMANDO
funcprot(0)EN VEZ DE endfunction
POLINOMIOS
• Para definir un polinomio se puede utilizar el
comando poly.

• Este comando permite construir un polinomio de dos


formas distintas, ello dependerá de si se conocen los
coeficientes del polinomio (coeff) o por otro lado si
se conocen las raíces (roots)
Hallar el valor de x que cumpla con la ecuación:

2
3x 2x 5 0

» polinomio = poly([5 2 3],’x’,’coeff’)


polinomio =

2
5 + 2x + 3x
» pd_poli = derivat(polinomio)

ans =

2 + 6x

» horner(pd_poli,-3)

ans =

- 16.
OTROS COMANDOS
• DISP este comando sirve para imprimir en pantalla alguna
información como textos o datos.

» horner(pd_poli,-3)

ans =
» disp(horner(pd_poli,-3))
- 16.
- 16.

» disp('Ingeniería Eléctrica')

Ingeniería Eléctrica
VECTORES Y MATRICES

» A=[1 3 5; 6 9 2; 4 8 7] » A^2+3*A

A = ans =

1 3 5 42 79 61
6 9 2 86 142 68
4 8 7 92 164 106

» det(A)

ans =

5
VECTORES
Vectores fila:
Los elementos de una misma fila están separados por blancos o comas (,).

» vf =[2 3 4]

Vectores columna:
Los elementos de una misma columna están separados por intro o por caracteres
punto y coma (;).

» vc =[2;3;4;7;9;8]

La dimensión de un vector se obtiene por el comando length (nombre del vector)


VECTOR RESULTADO
Vector Fila
» f = [3 5 1 7] f =
3 5 1 7
O bien,

» f = [3,5,1,7]

Vector Columna
» c = [3;5;1;7] c =
3
O bien, 5
1
» c = [3 7
5
1
7]
OPERACIONES ENTRE VECTORES
 v+w adición o suma
 v-w sustracción o resta
 v.*w multiplicación cada elemento de v por el
correspondiente de w
 v./w divide cada elemento de v por el correspondiente de w
 v.^w potenciación cada componente de v esta elevado al
correspondiente de w
OPERACIONES ENTRE VECTORES

COMANDO DE LA FUNCIÓN DESCRIPCIÓN


sum(v) suma
prod(v) Producto
max(v) Valor máximo de las componentes de un
vector , lo mismo para min(v) valor mínimo
GENERACIÓN DE VECTORES
• Especificando el incremento de sus componentes
X=XI:ΔX:XF;

• Especificando su dimensión linspace(a,b,n) si se


omite n toma 100 por defecto; el incremento es k=(b-a)/(n-1)

• Con componentes logarítmicamente espaciadas


logspace(a,b,n) genera un vector fila de n puntos
logarítmicamente espaciados entre 10a y 10b. Si se omite el
valor de n se toma 50
Vectores con elementos igualmente espaciados:

X= XI:ΔX:XF

XI = Límite Inferior
XF = Límite Superior
ΔX = Paso o Incremento (espacio entre elementos)

» x = 1:0.5:3

x =
1.0000 1.5000 2.0000 2.5000 3.0000
Vectores con N elementos igualmente espaciados:

X= linspace(XI,XF,N)

XI = Límite Inferior
XF = Límite Superior
N= Número de elementos de X

» x = linspace(0,1,5)

x =
0 0.2500 0.5000 0.7500 1.0000
Vectores fila de Ceros de tamaño n

» vf = zeros(1,4)

vf =
0 0 0 0

Vectores columna de Ceros de tamaño n

» vc = zeros(4,1)

vc =
0
0
0
0
MATRICES
La definición de una matriz se hace por filas.

• Una fila se separa de la siguiente por medio de punto y coma o por medio de
cambio de línea.

• Los elementos de una misma fila se separan por medio de espacios en blanco o por
medio de comas.

» A=[1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
MATRICES
» M = [2 3 4; 7 8 9;11 12 13; -1 0 1]
» M = [2,3,4; 7,8,9 ; 11,12,13 ; -1,0,1]
» M = [2 3 4
7 8 9
11 12 13
-1 0 1]
M =

2 3 4
7 8 9
11 12 13
-1 0 1
TIPOS ESPECIALES DE MATRICES EJEMPLO
Matriz de UNOS de mxn: ones(m,n) » ones(2,3)
ans =
1 1 1
1 1 1
Matriz de CEROS de mxn: zeros(m,n) » zeros(3,2)
ans =
0 0
0 0
0 0
Matriz Aleatoria de mxn: rand(m,n) » rand(2,2)
ans =
0.9501 0.4860
0.6068 0.0185
Matriz Identidad de mxm: eye(m) » eye(3,3)
ans =
1 0 0
0 1 0
0 0 1
NOTACIÓN DE ELEMENTOS
a11 a12  a1n
a21 a22  a2 n
A
   
am1 am 2  amn
A(i,j): Denota el elemento de la matriz A ubicado en la fila i y en la
columna j .

A(i,:): Denota todos los elementos de la fila i de la matriz A .

A(:,j): Denota todos los elementos de la columna j de la matriz A


.

A(r:s,p:q): Denota la submatriz de A cuyos elementos están


entre las filas r y s y entre las columnas p y q .
» A=[1 3 5; 6 9 2; 4 8 7] » A=[1 3 5; 6 9 2; 4 8 7]
A = A =
1 3 5 1 3 5
6 9 2 6 9 2
4 8 7 4 8 7

» A(2,3) » A(:,2)
ans = ans =
2 3
9
» A(3,2) 8
ans =
8 » A(1:2,2:3)
ans =
» A(2,:) 3 5
ans = 9 2
6 9 2
OTROS COMANDOS

• round(x) redondea hacia el entero más próximo.

• fix(x) redondea hacia el entero más próximo a 0

• ceil(x) valor entero más próximo hacia +∞

• floor(x) valor entero más próximo hacia -∞


OPERACIONES ENTRE MATRICES
 A+B Adición o suma (las matrices deben ser del mismo tamaño)
 A-B Sustracción o resta (las matrices deben ser del mismo tamaño)
 A*B Multiplicación.
 k*A Multiplicación por un escalar (k es el escalar).
 A/B División.
 A.*B Multiplicación elemento a elemento.
 A./B Divide cada elemento de A por el correspondiente de B
 A.^n Potenciación elemento a elemnto (n es la potencia, un escalar).
 A’ Matriz Transpuesta de A.
FUNCIONES CON MATRICES
La mayoría de las funciones de SCILAB utilizadas para número reales, pueden aplicar a
matrices.

» M =sin([0.2 1.4 0.5])

M =

0.1987 0.9854 0.4794

» M =[sin(0.2),sin(1.4),sin(0.5)]

M =

0.1987 0.9854 0.4794


ALGUNAS FUNCIONES DE MATRICES

FUNCIÓN DESCRIPCIÓN
» det(A) Determinante de A
» inv(A) Inversa de A
» min (A) Fila de A que contiene el mínimo elemento de toda la matriz
» max(A) Fila de A que contiene el máximo elemento de toda la matriz
» sum(A) Vector fila de la suma de cada columna de la matriz.
» [P,Q]=eig(A) P es la matriz con columnas de vectores propios.
Q es la matriz diagonal con valores propios de la matriz A.
» svd(A) Descomposición en valores singulares.
» Tamaño de la Matriz A (M es número de filas y N el de
[M,N]=size(A) columnas)
» lengt(V) Longitud de un Vector.
MATRICES APLICADAS A SISTEMA DE ECUACIONES

a12 X 1 a12 X 2  a1m X m C1


a21 X 1 a22 X 2  a2 m X m C2 AX C
  
an 2 X 1 an 2 X 2  anm X m Cn

a11 a12  a1n X1 C1


a21 a22  a2 n X2 C2 1
     
X A C
am1 am 2  amn Xm Cm
Solucionar el sistema de ecuaciones

4 X1 3X 2 X 3 12 4 3 1 X1 12
2 X1 3X 2 X3 10 2 3 1 X2 10
X1 X 2 2X3 5 1 1 2 X3 5

» A =[4 3 -1;2 -3 -1;1 1 -2];


» C =[12;-10;-5];
» X = inv(A)*C X1 2
X2 3
X =
2 X3 5
3
5
COMANDOS DE AYUDA
• help

• dir

• diary

• lookfor

También podría gustarte