curso de scilab de scila… · ¿quÉ es scilab? •scilab es un lenguaje de programación de alto...
Post on 14-Sep-2018
293 Views
Preview:
TRANSCRIPT
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 altonivel para cálculo científico, interactivo de libreuso y disponible en múltiples sistemas operativosdesarrollado por Institut National de Rechercheen Informatique et Automatique y ÉcoleNationale des Ponts et Chaussées desde 1990..
• Scilab fue creado para hacer cálculos numéricosaunque también ofrece la posibilidad de haceralgunos cálculos simbólicos.
• Posee cientos de funciones matemáticas y laposibilidad de integrar programas en loslenguajes más usados (FORTRAN, Java y C y C++ ).
• Scilab es un sistema abierto, el usuario puededefinir 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 funcionesracionales, Simulación, Xcos: simulador pordiagramas de bloque, Control clásico, robusto,optimización LMI, Optimización diferenciable y nodiferenciable, Tratamiento de señales, Grafos yredes.
• 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 yprogramas. Se escribe la instrucción o el nombre del programa y se daa Enter.
• Help (también se puede usar desde comand windows)
• Workspace: Para ver las variables que se están usando y susdimensiones (si son matrices)
• Los elementos básicos del SCILAB, comocualquier otro lenguaje de programación, son:
– Constantes
– Variables
– Operaciones
– Expresiones
– Funciones.
CONSTANTES OVARIABLES 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
>> (10+5*(4)^(1/2))/(1-(2^(-3/2)-0.5^1.5))
ans =
20
Resolver
Ejercicio
102472
2341768.4210
205.021
45105.123
21
65
514
1010*987.9
10*876.510*8.9
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
OPERACIONES CON 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
ALGUNAS FUNCIONES TIPICAS USADAS EN ESCALARES
Hallar el valor de X en el triángulo rectángulo que tienehipotenusa igual a 50 y el ángulo opuesto al cateto es de 30º
50
30º
>> h = 50;
>> Teta= 30*%pi/180;
>> X = 50*sin(Teta)
X =
25.0000
NOTEN QUE SE REALIZO UNA CONVERSIÓN DEGRADOS A RADIANES. ESTO NECESARIO PARAEFECTOS DEL CÁLCULO. SCILAB ESTABLECE COMOCRITARIO EL USO DE RADIANES EN EL ARGUMENTODE LAS FUNCIONES TRIGONOMETRICAS.
X
En un triangulo rectángulo para el cual se conoce que uno de suscatetos tiene 10 cm y la hipotenusa de 15 cm. Encuentre elángulo que se forma entre ellos.
15Alfa
>> Alfa = (180/%pi)*acos(10/15)
Alfa =
48.189710
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 SCILABRECOMIENDAN USAR EL COMANDOfuncprot(0)EN VEZ DE endfunction
POLINOMIOS
• Para definir un polinomio se puede utilizar elcomando poly.
• Este comando permite construir un polinomio de dosformas distintas, ello dependerá de si se conocen loscoeficientes del polinomio (coeff) o por otro lado sise conocen las raíces (roots)
Hallar el valor de x que cumpla con la ecuación:
0523 2 xx
» polinomio = poly([5 2 3],’x’,’coeff’)
polinomio =
2
5 + 2x + 3x
OTROS COMANDOS
• DISP este comando sirve para imprimir en pantalla alguna información como textos o datos.
» horner(pd_poli,-3)
ans =
- 16. » disp(horner(pd_poli,-3))
- 16.
» disp('Ingeniería Eléctrica')
Ingeniería Eléctrica
VECTORES Y MATRICES
» A=[1 3 5; 6 9 2; 4 8 7]
A =
1 3 5
6 9 2
4 8 7
» det(A)
ans =
5
» A^2+3*A
ans =
42 79 61
86 142 68
92 164 106
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)
VECTORES
VECTOR RESULTADO
Vector Fila
» f = [3 5 1 7]
O bien,
» f = [3,5,1,7]
f =
3 5 1 7
Vector Columna
» c = [3;5;1;7]
O bien,
» c = [3
5
1
7]
c =
3
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 componentesX=XI:ΔX:XF;
• Especificando su dimensión linspace(a,b,n) si seomite n toma 100 por defecto; el incremento es k=(b-a)/(n-1)
• Con componentes logarítmicamente espaciadaslogspace(a,b,n) genera un vector fila de n puntoslogarítmicamente espaciados entre 10a y 10b. Si se omite elvalor 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
Vectores columna de Ceros de tamaño n
» vc = zeros(4,1)
vc =
0
0
0
0
» vf = zeros(1,4)
vf =
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 decambio de línea.
• Los elementos de una misma fila se separan por medio de espacios en blanco o pormedio 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
mnmm
n
n
aaa
aaa
aaa
A
21
22221
11211
A(i,j): Denota el elemento de la matriz A ubicado en la fila i y en lacolumna 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ánentre 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(2,3)
ans =
2
» A(3,2)
ans =
8
» A(2,:)
ans =
6 9 2
» A=[1 3 5; 6 9 2; 4 8 7]
A =
1 3 5
6 9 2
4 8 7
» A(:,2)
ans =
3
9
8
» A(1:2,2:3)
ans =
3 5
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.
»
[M,N]=size(A)
Tamaño de la Matriz A (M es número de filas y N el de columnas)
» lengt(V) Longitud de un Vector.
nmnmnn
mm
mm
CXaXaXa
CXaXaXa
CXaXaXa
2212
22222121
11212112
mmmnmm
n
n
C
C
C
X
X
X
aaa
aaa
aaa
2
1
2
1
21
22221
11211
CXA
CAX 1
MATRICES APLICADAS A SISTEMA DE ECUACIONES
Solucionar el sistema de ecuaciones
52
1032
1234
321
321
321
XXX
XXX
XXX
5
10
12
211
132
134
3
2
1
X
X
X
» A =[4 3 -1;2 -3 -1;1 1 -2];
» C =[12;-10;-5];
» X = inv(A)*C
X =
2
3
5
5
3
2
3
2
1
X
X
X
top related