Date post: | 23-Jan-2016 |
Category: |
Documents |
Upload: | maria-luisa-soler-castro |
View: | 219 times |
Download: | 0 times |
PROGRAMACIÓN (2a PARTE)
MATLAB
INTRODUCCIÓN
¿Que es MATLAB?(MATrix LABoratory)Sistema basado en cálculo matricial Desarrollo de aplicaciones
matemáticas y de ingenieríaIntegra: cálculo, visualización y
programaciónMedio ambiente de fácil uso
¿Que es MATLAB?
Usos típicos:matemáticas y computacióndesarrollo de algoritmosmodelado, simulación y prototiposanálisis, exploración y visualización
de datosgraficos para ciencias e ingenieríasdesarrollo de aplicaciones (GUI)
¿Que es MATLAB?
Elemento básico: matrizPermite resolver muchos problemas
técnicosUsando una fracción del tiempo del
usado con C o FortranHerramienta estándar en
universidades (en cursos introductorios y avanzados)
¿Que es MATLAB?
En la industria, herramienta de investigación desarrollo y análisis
Contiene familias de soluciones de aplicaciones específicas: Toolboxes
Los toolboxes:Colecciones de funciones (archivos-m)Extensiones hacia áreas y
aplicaciones específicas
¿Que es MATLAB?
Permiten aprender y aplicar tecnología especializada
existen tooboxes en áreas como: procesamiento de señales, sistemas de control, redes neuronales, lógica difusa, wavelets, etc.
Sistema MATLAB
Lenguaje MATLABMedio ambiente de trabajoManejo de graficosBiblioteca de funciones matemáticasPrograma interfaz de applicaciones
¿Que es Simulink?
Es un programa compañero de MATLAB
Se maneja gráficamente vía ratónSistema interactivo para simular
sistemas dinámicos Modelar sistemas dibujando
diagramas de bloques en la pantalla y manipularlos dinámicamente
¿Que es Simulink?
Trabaja con sistemas lineales, no lineales, de tiempo continuo, de tiempo discreto, multivariables y multirate
Blocksets son librerías adicionales de Simulink para aplicaciones
Real-time Workshop es un programa que permite generar código C a partir de los diagramas de bloques y ejecutarlos en sistemas de tiempo real.
Matrices y Operaciones BásicasUn solo tipo de datos: MATRIZArreglo rectangular de números
Introduciendo Matrices:•Introduciendo una lista de números•Cargandolas de archivos externos•Generandolas usando funciones
Matrices y Operaciones Básicas
Por ejemplo:
A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
Después de oprimir enter, aparecerá:
Matrices y Operaciones Básicas
A =16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
Matrices y Operaciones Básicas
sum(A)
ans =34 34 34 34
Suma el contenido de las columnas
Matrices y Operaciones Básicas
A’ans =16 5 9 4 3 10 6 15 2 11 7 14 13 8 12 1Que es la matriz transpuesta
Matrices y Operaciones Básicas
sum(A')'ans =34343434Que es la suma de los renglones
Matrices y Operaciones Básicas
diag(A)ans =161071
Que es la diagonal principal
Matrices y Operaciones Básicas
sum(diag(A))ans =34
Que es la suma de los elementos de la diagonal principal
Matrices y Operaciones Básicas
SubíndicesEl elemento en el renglón i y la columna
j de A se denota como: A(i,j)Así, el elemento A(4,2) es 15De modo que:A(1,4) + A(2,4) + A(3,4) + A(4,4)ans =34 (No es la mejor forma de hacer esto)
Matrices y Operaciones Básicas
A(8) es otra forma de referirnos al valor 15 almacenado en A(4,2)
Si se tratan de usar índices que excedan las dimensiones de la matriz, como con:
t = A(4,5)Aparecerá el mensaje de error:
Index exceeds matrix dimensions
Matrices y Operaciones Básicas
Pero si se almacena un valor en un elemento furera de los límites, las dimensiones se incrementan para acomodarlo. Así:
X = A; X(4,5) = 17X =
16 3 2 13 0 5 10 11 8 0 9 6 7 12 0 4 15 14 1 17
Matrices y Operaciones Básicas
El operador “dos puntos”Es uno de los operadores más
importantes.Funciona de diferentes formas.
Así, 1:10es un vector renglón conteniendo:1 2 3 4 5 6 7 8 9 10
Matrices y Operaciones Básicas
100:–7:50=100 93 86 79 72 65 58 51
0:pi/4:pi=0 0.7854 1.5708 2.3562 3.1416
Matrices y Operaciones Básicas
Subíndices que involucran dos puntos, se refieren a porciones de una matriz, así:
A(1:k,j)son los primeros k elementos de la
columna j de A. Así:sum(A(1:4,4))
calcula la suma de los elementos de la cuarta columna (aunque no es la mejor forma de hacer esto)
Matrices y Operaciones Básicas
Los dos puntos por si mismos se refieren a todos los elementos en un renglón o columna
La palabra end se refiere al último renglón o columna. De modo que:
sum(A(:,end))=34calcula la suma de los elementos de la
última columna
2. EXPRESIONES
Como la mayoría de los lenguajes de programación
Pero se involucran matrices enteras•Variables•Números•Operadores•Funciones
2. Expresiones
VariablesNo se requiere algún tipo de declaración
o indicación de dimensionesCuando se encuentra una variable
nueva, se crea automáticamenteSi ya existía la variable, se cambia su
contenido
2. Expresiones
Por ejemplo:num_students = 25
crea una matriz de 1 por 1
Los nombres de las variables consisten de una letra seguida por cualquier número de letras, dígitos o símbolos.
2. Expresiones
MATLAB usa solo los primeros 31
caracteres del nombre de una
variable
MATLAB distingue entre letras
mayúsculas y minúsculas
2. Expresiones
NúmerosMATLAB usa notación decimal
convencionalPuede encabezar a un número un
signo más (+) o menos (-)Notación científica: e para
especificar la potencia de 10Números imaginarios usan i o j
2. Expresiones
Ejemplos: 3 – 99 0.0001 9.6397238 1.60210e – 20 6.02252e23 1i –3.14159j 3e5i
Todos los números almacenados usan el formato long (IEEE floating-point standard).
2. Expresiones
Números flotantes: precisión finita de 16 dígitos decimales significativos rango finito de 10 e-308 a 10 e+308
2. Expresiones
OperadoresLas expresiones usan operadores aritméticos y
reglas de precedencia familiares + Suma – Resta * Multiplicación / División \ División izquierda ^ Potencia ' Transpuesta complejo conjugado
2. Expresiones
FuncionesMATLAB, gran número de funciones
matemáticas básicasComo: abs, sqrt, exp, and sin.Funciones avanzadas: Bessel and
gamma functions.Con help elfun se obtiene una lista
de funciones elementales
2. Expresiones
Con:
help specfunhelp elmat
Se obtienen funciones más avanzadas.
2. Expresiones
Algunas funciones como sqrt ysin, son parte del núcleo de MATLAB (built in) son muy eficientes
detalles computacionales no accesibles
Otras funciones como gamma y sinh, están implementadas en archivos-m Se puede ver el código y aún modificarlo
2. Expresiones
Varias funciones especiales proporcionan valores constantes útiles:
pi 3.14159265… i unidad imaginaria (también j) eps precisión relativa en p. flotante, 2 e-52 realmin número en p. Flot. más pequeño, 2 e-
1022 realmax número en p. Flot. más grande, 2e1023 Inf Infinito NaN No un número
2. Expresiones
rho = (1+sqrt(5))/2rho =1.6180
a = abs(3+4i)a =5
2. Expresiones
z = sqrt(besselk(4/3,rho–i))z =0.3730+ 0.3214i
huge = exp(log(realmax))huge =1.7977e+308toobig = pi*hugetoobig =Inf
3. Matrices
Generación de MatricesSe cuenta con 4 funciones para generar matrices:
Z = zeros(2,4)Z =0 0 0 00 0 0 0
3. Matrices
F = 5*ones(3,3)F =5 5 55 5 55 5 5N = fix(10*rand(1,10))N =4 9 4 4 8 5 2 6 8 0
3. Matrices
R = randn(4,4)R =1.0668 0.2944 –0.6918 –1.44100.0593 –1.3362 0.8580 0.5711–0.0956 0.7143 1.2540 –0.3999–0.8323 1.6236 –1.5937 0.6900
3. Matrices
El comando load lee archivos binarios que contienen matrices generadas con anterioridad
El archivo texto tiene que estar organizado como una tabla rectangular de números separadas por espacios
Así, si se tiene el archivo magik.dat, entonces:load magik.dat
lee el archivo y crea una variables magik conteniendo a la matriz.
3. Matrices
Archivos-MSe pueden crear matrices usando archivos-mPor ejemplo:A = [ ...16.0 3.0 2.0 13.05.0 10.0 11.0 8.09.0 6.0 7.0 12.04.0 15.0 14.0 1.0 ];
3. Matrices
Almacenandolo en un archivo con nombre magik.m
entonces, al escribir:
magik
se lee el archivo y es creada una variable A que contiene la matriz del ejemplo.
3. Matrices
ConcatenaciónEs el proceso de unir matrices pequeñas
para formar unas más grandesLos paréntesis cuadrados [] son el
operador de concatenación. Por ejemplo:con la matriz A de 4-por-4 y haciendo:
B = [A A+32; A+48 A+16]Resulta en una matriz de 8X8
3. Matrices
Borrando renglones y columnasEjemplos: borrar la segunda columna de A.X = A; con lo que X queda:X(:,2) = []X =16 2 135 11 89 7 124 14 1
3. Matrices
Borrar un solo elemento de una matriz:X(1,2) = []resulta en un error.Usando solo un subíndice, se borra un
elemento o una secuencia de elementos.El elemento resultante es un vector renglón.
Así: X(2:2:10) = []; resulta en:X =16 9 2 7 13 12 1
3. Matrices
La ventana de comandos
Permite cambiar la fuente
Permite controlar el formato numérico de
los valores desplegados
Se cambia solo la forma en que son
desplegados los números y no la forma en
que se realizan lols cálculos y se salvan
3. Matrices
Elemplos: x = [4/3 1.2345e–6]
format short1.3333 0.0000format short e1.3333e+000 1.2345e–006format short g1.3333 1.2345e–006
3. Matrices
format long1.33333333333333 0.00000123450000format long e1.333333333333333e+000
1.234500000000000e–006format long g1.33333333333333 1.2345e–006
3. Matrices
format bank1.33 0.00format rat4/3 1/810045format hex3ff5555555555555 3eb4b6231abfd271
3. Matrices
Líneas de comando largasEjemplo:s = 1 –1/2 + 1/3 –1/4 + 1/5 – 1/6 + 1/7 ...– 1/8 + 1/9 – 1/10 + 1/11 – 1/12;
Los espacios en blanco entre los números y los signos son opcionales. Solo hacen más fácil la lectura