540 likes | 708 Views
PROGRAMACIÓN (2a PARTE) MATLAB. INTRODUCCIÓN. ¿Que es MATLAB? ( MAT rix LAB oratory) Sistema basado en cálculo matricial Desarrollo de aplicaciones matemáticas y de ingeniería Integra: cálculo, visualización y programación Medio ambiente de fácil uso. ¿Que es MATLAB?. Usos típicos:
E N D
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ía • Integra: cálculo, visualización y programación • Medio ambiente de fácil uso
¿Que es MATLAB? Usos típicos: • matemáticas y computación • desarrollo de algoritmos • modelado, simulación y prototipos • análisis, exploración y visualización de datos • graficos para ciencias e ingenierías • desarrollo de aplicaciones (GUI)
¿Que es MATLAB? • Elemento básico: matriz • Permite resolver muchos problemas técnicos • Usando una fracción del tiempo del usado con C o Fortran • Herramienta 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 MATLAB • Medio ambiente de trabajo • Manejo de graficos • Biblioteca de funciones matemáticas • Programa interfaz de applicaciones
¿Que es Simulink? • Es un programa compañero de MATLAB • Se maneja gráficamente vía ratón • Sistema 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ásicas • Un solo tipo de datos: MATRIZ • Arreglo 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 1 Que es la matriz transpuesta
Matrices y Operaciones Básicas sum(A')' ans = 34 34 34 34 Que es la suma de los renglones
Matrices y Operaciones Básicas diag(A) ans = 16 10 7 1 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índices El 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 15 De 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) = 17 X = 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:10 es 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))=34 calcula 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 Variables • No se requiere algún tipo de declaración o indicación de dimensiones • Cuando se encuentra una variable nueva, se crea automáticamente • Si 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úmeros • MATLAB usa notación decimal convencional • Puede encabezar a un número un signo más (+) o menos (-) • Notación científica: e para especificar la potencia de 10 • Nú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 Operadores Las 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 Funciones • MATLAB, gran número de funciones matemáticas básicas • Como: 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 specfun • help 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))/2 rho = 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+308 toobig = pi*huge toobig = Inf
3. Matrices Generación de Matrices Se cuenta con 4 funciones para generar matrices: • Z = zeros(2,4) Z = 0 0 0 0 0 0 0 0
3. Matrices • F = 5*ones(3,3) F = 5 5 5 5 5 5 5 5 5 • N = 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.4410 0.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-M Se pueden crear matrices usando archivos-m Por ejemplo: A = [ ... 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.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ón • Es el proceso de unir matrices pequeñas para formar unas más grandes • Los 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 columnas Ejemplos: borrar la segunda columna de A. X = A; con lo que X queda: X(:,2) = [] X = 16 2 13 5 11 8 9 7 12 4 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 short 1.3333 0.0000 • format short e 1.3333e+000 1.2345e–006 • format short g 1.3333 1.2345e–006