introducción a matlab - blog.espol.edu.ec

Post on 02-Jun-2022

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introducción a MATLAB

Laboratorio de Sistemas de Control Aplicados

Introducción a MATLAB

• Entorno de MATLAB

• Cálculos numéricos

• Trazado básico y gráficos

• Cálculos matriciales y resolución de ecuaciones

Entorno de MATLAB

•MATLAB• MATLAB es un sistema interactivo y lenguaje de programación para computacióncientífica y de ingeniería en general. Su elemento básico es una matriz (array). Sedestaca en los cálculos numéricos y gráficos.

• MATLAB tiene herramientas (tools -> funciones) para resolver problemascomunes más herramientas (toolboxes -> colecciones de programasespecializados) para tipos específicos de problemas.

• No se necesita experiencia previa en programación de computadoras paraaprender y usar MATLAB.

• Aquí nos centramos en los fundamentos de MATLAB. Una vez que estos fundamentosse comprendan bien, los estudiantes pueden continuar aprendiendo por sí mismoscon las numerosas referencias disponibles.

Comentario

• Cuando tenga más experiencia en su estudio de ingeniería, es más importantecomprender cuándo usar un programa computacional, como MATLAB, y cuándo usarun lenguaje de programación de alto nivel y propósito general, como C.

• En ingeniería, escribimos programas de computadora no solo para ayudar a resolverproblemas de ingeniería y científicas, sino también para aplicaciones en tiempo real.

–CommandWindow

• Como un bloc de notas; puede guardar los valores que calcula, pero no los comandosutilizados para generar esos valores. Archivos M (archivo MATLAB que contiene códigode programación) se utilizan para guardar la secuencia de comandos.

• Se pueden escribir varios comandos en la misma línea. Comandos separados por unacoma.

• Use la tecla de flecha hacia arriba para moverse por la lista de comandos que haejecutado.

–Command History Window

• Registra los comandos que emitió en la ventana de comandos.

• Puede transferir cualquier comando desde la ventana del historial de comandos a laventana de comandos.

–Workspace Window

• Realiza un seguimiento de las variables que ha definido a medida que ejecutacomandos en la ventana de comandos.

–Current Directory Window

• MATLAB usa el directorio actual para acceder a los archivos o guardar información ensu computadora.

–Document Window(abierta cuando sea necesario)

•Al hacer doble clic en cualquier variable listada en la ventana del espacio de trabajo,se inicia automáticamente una ventana de documento que contiene el editor dematriz.

–Graphics Window(abierta cuando sea necesario)

• Se inicia automáticamente cuando solicita un gráfico.

–Edit Window (abrir cuando sea necesario)

• La ventana de edición se abre seleccionando: Archivo→ Nuevo→ archivo-m desde labarra de menú.

• Esto le permite escribir y guardar una serie de comandos sin ejecutarlos.

•También puede abrir la ventana de edición escribiendo editat en el símbolo delsistema.

-Start Button

• Ubicado en la esquina inferior izquierda de la ventana de MATLAB.

• Ofrece acceso alternativo a las cajas de herramientas de MATLAB, varias ventanas deMATLAB, función de ayuda, demostraciones y productos de Internet.

• Dos símbolos útiles:

–Semicolon ;

• Si se escribe un punto y coma al final de un comando, no se muestra la salida delcomando.

-Percent Sign %

• Cuando el % se escribe al comienzo de una línea, la línea se designa como uncomentario. Los comentarios se usan con frecuencia en los programas para agregarexplicaciones o descripciones.

Cálculos numéricos

• Variable: asignamos nombres a escalares, vectores y matrices. Los nombres de lasvariables comienzan con una letra y distinguen entre mayúsculas y minúsculas.

• Vectores y escalares son casos especiales de una matriz.

• Matriz: conjunto de números dispuestos en una cuadrícula rectangular de filas ycolumnas. Comas o espacios en blanco separan elementos; puntos y comas filasseparadas. A = [ 1, 2, 3; 4, 5, 6; 7, 8, 9]

• Operaciones escalares

Precedencia de operaciones aritméticas

–Paréntesis, primero lo más interno

–Exponenciación, de izquierda a derecha

–Multiplicación y división, de izquierda a derecha

–Adición y resta, de izquierda a derecha

Operación Array

–La verdadera fuerza de MATLAB está en las manipulaciones matriciales.

–Operaciones, elemento por elemento:

• Suma +

• Resta -

•Multiplicación. *

• División ./

• Exponenciación. ^

–Transpuesta: el operador de transposición cambia las filas a columnas y viceversa. Eloperador es el apóstrofe.

Visualización numérica

–Notación científica: 6.022e23

–Formato de visualización (p. Ej., Largo, corto, científico): cambiar el formato devisualización no cambia la precisión de sus resultados

Archivos

–.MAT archivos

–.DAT archivos

–M-files: archivos MATLAB que contienen código de programación. Hay dos tipos:scripts y funciones.

Funciones predefinidas de MATLAB

–Las expresiones aritméticas a menudo requieren cálculos que no sean suma, resta,multiplicación, división y exponenciación, por ejemplo, muchas expresiones requierenel uso de logaritmos, exponenciales y funciones trigonométricas.

–MATLAB incluye una biblioteca incorporada de funciones útiles.

Ejemplo:

•b = sqrt(x)

•a = rem(10,3)

•f = size(d)

•g = sqrt(sin(x))

–MATLAB incluye amplias herramientas de ayuda, que son especialmente útiles parainterpretar la sintaxis de funciones.

–Hay 3 formas de obtener ayuda desde MATLAB:• Función de ayuda de línea de comandos -Help

• Pantalla de ayuda con ventana –Help→MATLAB Help

• Ayuda de MATLAB en Internet.

Funciones elementales - Ejemplos•abs(x)

•sqrt(x)

•round(x)

•sign(x)

•exp(x)

•log(x) and log10(x)

Funciones trigonométricas

• Las funciones trigonométricas suponen que los ángulos están representados en radianes.

– sin (x) , cos (x) , asin (x)

• Si se desea utilizar u obtener los ángulos en grados sexagesimales utilice los siguientes comandos:

- sind(x), cosd (x) , asind(x)

Funciones de análisis de datos

•MATLAB contiene una serie de funciones que facilitan la evaluación y el análisis de datos.

•Por ejemplo:

–Máximo y mínimo, media y mediana ( max, min, mean, median)

–Suma y producto, clasificación de valores

–Tamaño de la matriz, varianza y desviación estándar

Archivos .m y scripts

–En lugar de ingresar comandos en la ventana de comandos no interactiva, donde los comandos no sepueden guardar y ejecutar nuevamente, es mejor crear primero un archivo con una lista de comandos(un programa), guardarlo y luego ejecutarlo (ejecutar el archivo).

–Los comandos en el archivo se ejecutan en el orden en el que aparecen los mismos.

–Los comandos en el archivo se pueden corregir o cambiar y el archivo se puede guardar y volver aejecutar.

–Los archivos utilizados para este propósito se denominan archivos de script o archivos m (la extensión.m se utiliza cuando se guarda el archivo).

–Para crear un archivo M: File → New → M-File o presione el botón New Script en la barra deherramientas.

–El archivo debe guardarse antes de que pueda ejecutarse. Para ejecutarlo, elija el icono Run o escriba elnombre del archivo en la Ventana de comandos y presione Enter.

Comandos útiles:

Para generar la matriz

•Escriba A = [1 3 5 7; 3 7 -2 0; 5 2 -7 6]

Note los siguientes comandos:

•zeros (m, n)zeros (3, 4)

•ones (m, n)ones (3, 3)

•eye (n)eye (3)

–La matriz A está dada por:

• Su transposición o transpuesta (cambia las filas a columnas) viene dada por:

–Considere el vector x = [1 3 5 7 9 11 13]

• Al escribir x (4) se muestra el elemento 4to elemento

• Escribir x (4) = 12 redefine el elemento 4 en el vector, es decir: x = [1 3 5 12 9 11 13]

–La dirección de un elemento en una matriz es su posición (número de fila y número de columna).

• Al escribir A (2, 3) se muestra el elemento de matriz -2

• Escribir A (2, 3) = 12 cambia el elemento de matriz en la ubicación (2, 3) de -2 a 12.

• x (:) se refiere a todos los elementos del vector x

• x (m: n) se refiere a elementos a través de m y n del vector x

• A (:, n) se refiere a todos los elementos en todas las filas de la columna n de la matriz A

• A (n, :) se refiere a los elementos en todas las columnas de la fila n de la matriz A

• A (:, m: n) se refiere a los elementos en todas las filas entre columnas m y n de la matriz A.

• A (m: n, :) se refiere a los elementos en todas las columnas entre filas m y n de la matriz A.

–La dimensión de un vector o matriz se puede cambiar simplemente asignando valores a los nuevoselementos. MATLAB asignará ceros para completar los nuevos elementos de matriz o vector noespecificados.

–Un elemento, o rango de elementos, en un vector o matriz se puede eliminar reasignando una matrizvacía a este rango de elementos.

• Para el vector x = [1 3 5 7 9 11], el comando x (3) = [] da como resultado el vector x = [1 3 7 9 11]

• Para la matriz A que se muestra a la izquierda, el comando A (:, 2: 3) = [] da como resultado la matriz Ade la derecha.

Trazado básico y gráficos

Gráficos en dos dimensiones

–Gráfico básico

–Tipos de diagramas bidimensionales

–Sub gráficos

Gráficas en dos dimensiones

–La trama más utilizada por los ingenieros es la gráfica x-y. En general, los valores de x representan lavariable independiente y los valores de y representan la variable dependiente. Ambos vectores debentener el mismo número de elementos.

Gráfico básico

•plot (x, y) En la última figura abierta, grafica Y vs X. En caso de qu no hayan figuras abiertas se abreuna nueva figura.

•title (‘Sample Plot’) A la figura activa, asigna el título Sample Plot. El título se escribe entre comillassimples.

•xlabel (‘x values’) Al eje x de la figura activa, le asigna el nombre x values.

•ylabel (‘y values’) Al eje y de la figura activa, le asigna el nombre y values.

•grid on Activa la cuadrícula de la figura activa.

–El comando figure() abre una nueva ventana de figura.

–Creando múltiples gráficas en una sola ventana:

•Plot (x, y1), hold on, plot (x, y2) el comando hold on mantiene la gráfica de y1 vs x, sobre esa figurase grafica también y2 vs x.

•Plot (x, y1, x, y2) En el mismo comando plot se especifican las curvas que se quieran graficar en lafigura activa.

•Y = [y1 y2], plot (x, Y) En una matriz (Y), se definen los vectores (y1, y2) que se deseen graficar. Si x esun vector columna, y1 y y2 deben ser vectores columna también.

–Opciones de estilo de línea, color y marca se pueden especificar (escriba help plot)

–La escala de ejes y los gráficos de anotación son opciones

–El comando fplot traza una función de la forma f = f (x) entre los límites

Especificados. Por ejemplo:

–Otros tipos de gráficas bidimensionales

• Gráficos polares: polar (x, y)

• Gráficos logarítmicos: semilogx (x, y), semilogy (x, y), loglog (x, y)

• Gráficos de barras y gráficos circulares

• Histogramas

• Stem, stairs

–Subplots

• El comando subplot le permite dividir la ventana gráfica en subventanas.

• subplot (m, n, p): la ventana se divide en una cuadrícula m-by-n de ventanas más pequeñas, y el dígitop especifica la ventana p-ésima para la figura actual. Las ventanas están numeradas de izquierda aderecha, de arriba a abajo.

Cálculos matriciales y resolución de ecuaciones

• Muchos cálculos de ingeniería utilizan una matriz, un conjunto de números dispuestos en unacuadrícula rectangular de filas y columnas, como una forma conveniente de representar un conjunto dedatos. Aquí nos interesan las matrices que tienen más de una fila y más de una columna.

• La multiplicación escalar y la suma y resta de matrices se realizan elemento por elemento. Aquírevisaremos la multiplicación de matrices, así como otras operaciones y funciones.

•Transponer

–La transposición de una matriz A, designada 𝐴𝑡, es una nueva matriz en la que las filas de la matrizoriginal son las columnas de la nueva matriz.

• Producto de punto

–El producto punto es un escalar calculado a partir de dos vectores del mismo tamaño. El escalar es lasuma de los productos de los valores en las posiciones correspondientes en los vectores.

–En MATLAB, dot_product = sum (A. * B); or dot (A, B);

•Multiplicación matricial

–La multiplicación de matrices no se logra multiplicando los elementos correspondientes de las matrices.En la multiplicación de matrices, el valor en la posición c (i, j) del producto C de dos matrices A y B es elproducto de punto de la fila i de la primera matriz y la columna j de la segunda matriz

–La primera matriz A debe tener el mismo número de elementos N en cada fila que hay en cada columnade la segunda matriz B.

–También, en general, AB ≠ BA.

–En MATLAB, la multiplicación matricial de A y B es A * B;

•Multiplicación matricial

• Potencias matriciales

–Si A es una matriz, la operación A. ^ 2 cuadra cada elemento en A. Para multiplicar la matriz, es decir,calcular A * A, A debe ser una matriz cuadrada y usamos la operación A ^ 2.

•Matriz inversa

–Por definición, el inverso de una matriz cuadrada A es la matriz 𝐴−1, de modo que los productos de lamatriz 𝐴𝐴−1 y 𝐴−1A son ambos iguales a la matriz de identidad I. En MATLAB, ejecutamos inv (A) paraencontrar el inverso de A.

•Determinante

–Un determinante es un escalar calculado a partir de las entradas en una matriz cuadrada. Losdeterminantes tienen varias aplicaciones en ingeniería, incluida la resolución de sistemas de ecuacionessimultáneas. En MATLAB, ejecute det (A) para encontrar el determinante de A.

• Soluciones a sistemas de ecuaciones lineales

–Considere el siguiente sistema de tres ecuaciones con tres incógnitas:

–Podemos reescribir el sistema de ecuaciones usando las siguientes matrices:

–Para resolver este sistema de ecuaciones, escribimos:

–En MATLAB, escribimos: X = inv (A) * B;

–Una mejor manera de resolver un sistema de ecuaciones lineales es usar el operador de divisiónmatricial: X = A \ B; Este método es más eficiente que usar la matriz inversa y produce una mayorprecisión numérica.

•Matrices especiales

–Matriz de ceros, p. Ej., A = zeros (3)

–Matriz de unos, por ejemplo, A = ones (3)

–Matriz identidad, p. Ej., A = eye (3)

–Obtener diagonales, por ejemplo, A = [1 2 3; 4 5 6; 7 8 9]; B = diag (A)

–Matrices aleatorias, p. Ej.,A=rand(2,3)

Ejercicios de refuerzo

Comandos básicos

Valores complejos

Polinomios

Polinomios

Representaciones gráficas 2D y 3D.

Representaciones gráficas 2D y 3D.

Creación de función de transferencia.

Otros comandos útiles

top related