Informe Final 1 - Sistemas de Control

Laboratorio de Sistemas de Control I FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA TEMA 1: MATLAB ALUMNO : PEREYRA

Views 49 Downloads 0 File size 914KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Laboratorio de Sistemas de Control I

FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA

TEMA 1: MATLAB

ALUMNO

:

PEREYRA PELÁEZ OSCAR ABEL

CÓDIGO

:

15190023

PROFESOR :

MALCA FERNÁNDEZ, JEAN CARLOS

CURSO

:

LABORATORIO DE SISTEMAS DE CONTROL I

HORARIO

:

MIÉRCOLES 4 – 6 pm

CICLO

:

CICLO 2018-2

Guía Nº 1

Laboratorio de Sistemas de Control I

Curso de Laboratorio de Sistemas de Control I Guía Nº 1 – Matlab I.

Objetivos a. Familiarizarse con el entorno de Matlab. b. Familiarizarse con las funciones básicas de Matlab para el desarrollo del curso.

II.

Introducción

MATLAB (MATrix LABoratory) es un programa orientado al cálculo con matrices, al que se reducen muchos de los algoritmos que resuelven problemas de matemática aplicada e Ingeniería. En la figura 1 se presentan las principales partes del entorno de Matlab.

El escritorio incluye los siguientes paneles:   

Carpeta actual (Current Folder): para acceder a los archivos. Ventana de comandos (Command Windows): para ingresar comandos en la línea de comandos, identificada por el indicador (>>). Área de trabajo: para explorar datos que cree o importe de archivos.

III. Procedimiento a. Parte 1: Variables, vectores y matrices Para crear una variable denominada a, debe ingresar esta instrucción en la línea de comandos:

Guía Nº 1

Laboratorio de Sistemas de Control I

>> a = 1 MATLAB agrega la variable a al área de trabajo y muestra el resultado en la ventana de comandos. a= 1 Cree algunas variables más. >>b = 2 b= 2 >>c = a + b c= 3 >>d = cos(a) d= 0.5403 Cuando no se especifica una variable de salida, MATLAB utiliza la variable ans, abreviatura de answer (respuesta), para almacenar los resultados del cálculo. >>sin(a) ans = 0.8415 Si una instrucción finaliza con punto y coma, MATLAB realiza el cálculo, pero elimina la visualización de la salida en la ventana de comandos. >>e = a*b; Para crear un arreglo con cuatro elementos en una fila única, separe los elementos con una coma (,) o un espacio. >> a = [1 2 3 4] a= 1

2

3

4

Este tipo de arreglo es un vector fila. Guía Nº 1

Laboratorio de Sistemas de Control I

Para crear una matriz con varias filas, separe las filas con punto y coma. >>a = [1 2 3; 4 5 6; 7 8 10] a= 1

2

3

4

5

6

7

8

10

Realice las siguientes operaciones y explique el resultado obtenido: NOTA: Para esta parte de la guía, decidí trabajar con Octave. 1) a + 10 Octave realiza el cálculo, sumando a cada elemento de la matriz el valor de 10 y mostrando la salida en la ventana de comandos.

2) sin(a) Octave realiza el cálculo, tomando la razón trigonométrica seno a cada elemento de la matriz y muestra la salida en la ventana de comandos.

3) a' Octave realiza el cálculo, tomando la transpuesta a la matriz y mostrando la salida en la ventana de comandos.

Guía Nº 1

Laboratorio de Sistemas de Control I

4) p = a*inv(a) Octave realiza el cálculo de la matriz “p” multiplicando la matriz “a” con la inversa de la misma matriz y mostrando la salida en la ventana de comandos.

5) a.*a Octave realiza el cálculo multiplicando cada elemento de la matriz “a” con la misma matriz, pero ambos elementos multiplicados son de la misma posición; es decir, eleva al cuadrado a cada elemento de la matriz y muestra la salida en la ventana de comandos.

6) a.^3 Octave realiza el cálculo elevando al cubo a cada elemento de la matriz y muestra la salida en la ventana de comandos.

7) A = [a,a] Octave realiza el cálculo de la nueva matriz “A” copiando dos veces la matriz “a” de forma horizontal de manera que se genere una matriz de 3x6.

Guía Nº 1

Laboratorio de Sistemas de Control I

8) B = [a; a] Octave realiza el cálculo de la nueva matriz “B” copiando dos veces la matriz “a” de forma vertical de manera que se genere una matriz de 6x3.

b. Parte 2: Comandos útiles Describa en sus propias palabras las siguientes instrucciones y muestre un ejemplo de su utilización: 1) Help función Ayuda a mostrar un texto de ayuda en la ventana de comandos. La ayuda, por sí misma, enumera todos los temas principales de ayuda. Cada tema principal corresponde a un nombre de carpeta en la ruta de búsqueda de MATLAB. 2) Clc Borrar toda la ventana de comandos. 3) Clear variable Borra la variable creada anteriormente. 4) Clear all Borra todas las variables creadas. 5) Close all Cierra todas las ventanas externas.

Guía Nº 1

Laboratorio de Sistemas de Control I

c. Parte 3: Guardar y Recuperar datos Para almacenar todo lo introducido y obtenido en la ventana de comandos, se utiliza la siguiente instrucción: >>diary(‘sesion1.txt’); (almacena todo lo que aparezca en la ventana de comandos en el archivo sesion1.txt ) >>diary on

(activa el almacenamiento en el archivo)

>>diary off

(desactiva el almacenamiento en el archivo)

Para Guardar variables, que ya estén previamente definidas, en un archivo de extensión .mat, se utiliza las siguientes instrucciones: >> save datos1.mat ; datos1.mat)

(guarda todas las variables en el archivo

>> save datos2.mat x; datos2.mat )

(sólo guarda la variable x en el archivo

Para Recuperar variables >>load(‘datos.mat’) Para el informe final adjunte el archivo Sesion1.txt y el archivo varPol.mat donde incluye todo lo desarrollado y las variables creadas para el desarrollo de la Parte 4. d. Parte 4: Polinomios En Matlab los polinomios son representados siguiente polinomio:

por vectores. Por ejemplo el

(𝑠) = 𝑠4 + 2𝑠3 − 9𝑠2 − 2𝑠 + 8 Se representaría en Matlab de la siguiente manera: >> P=[1 , 2, -9 , -2 ,8]; Para extraer las raíces de un polinomio >> r=roots(P); Para hallar el polinomio cuyas raíces sean r1=0.5, r2=1 y r3=3 >> P2=poly([1 0.5 3]); Para multiplicar polinomios >> P3=conv(P,P2);

Guía Nº 1

Laboratorio de Sistemas de Control I

Para dividir: >> [Q,R]=deconv(P3,P); Ahora defina el siguiente polinomio: (𝑠) = 2𝑠4 − 𝑠2 + 0.5𝑠 + 6

Y obtenga los resultados de las siguientes operaciones: 1) P(s)+Q(s) P+Q

2) P(s)xQ(s) conv(P,Q)

3) P(s)/Q(s) deconv(P,Q)

e. Parte 5: Programación En Matlab es posible ingresar comandos del lenguaje uno por uno en la línea de comandos, o en su lugar, escribir una serie de comandos en un archivo y luego ejecutarlo como cualquier función de MATLAB. Use el editor de MATLAB o cualquier otro editor de texto para crear sus propios archivos de funciones. Llame a estas funciones como lo haría con cualquier otra función o comando de MATLAB. Existen dos tipos de archivos de programa: Scripts, que no aceptan argumentos de entrada ni devuelven argumentos de salida. Operan sobre datos en el área de trabajo.

Guía Nº 1

Laboratorio de Sistemas de Control I

Funciones, que aceptan argumentos de entrada y devuelven argumentos de salida. Las variables internas son locales para la función. Clarifiquemos esto con el siguiente ejemplo: En el Editor creamos el siguiente script llamando: triarea.m que calcula el área del triángulo: b = 5; h = 3; a = 0.5*(b.*h) Después de guardar el script, este puede ser ejecutado desde la línea de comandos, de la siguiente manera: >> triarea a= 7.5000 Nótese que si queremos calcular el área de otro triangulo usando el mismo script, se debería actualizar los nuevos valores de b y n modificando el código del script. Sin embargo, en lugar de actualizarlo manualmente cada vez, se puede hacer un programa más flexible convirtiéndolo en una función. Reemplace las líneas de asignación de valores a b y h con la instrucción de declaración de función de la siguiente manera: function a = triarea(b,h) a = 0.5*(b.*h); end Después de guardar la función, puede ser llamada con diferentes valores de base y altura, desde la línea de comandos sin modificar su codificación, de la siguiente manera: >>a1 = triarea(1,5) >>a2 = triarea(2,10) >>a3 = triarea(3,6) a1 = 2.5000

Guía Nº 1

Laboratorio de Sistemas de Control I

a2 = 10 a3 = 9 Desarrolle los siguientes ejercicios: i.

Cree un script que pida al usuario que ingrese los coeficiente de una ecuación cuadrática (𝑎𝑥2 + 𝑏𝑥 + 𝑐) y que arroje como resultado las soluciones siempre y cuando sean reales caso contrario que muestre un mensaje que las soluciones no son reales. Luego convertirla en una función.

ii.

Cree un script que muestre la gráfica de la función (𝑡) = e−3∗tsin(2 ∗ 𝑝𝑖 ∗ 10 ∗ 𝑡) , para un intervalo de 0 a 1 segundo.

iii.

Cree una función que grafique Y para una determinada frecuencia e intervalo de tiempo que son ingresados como argumentos de entrada de la función.

Guía Nº 1

Laboratorio de Sistemas de Control I

iv.

Cree una función que calcule la factorial de un número.

v.

Cree una función que sea capaz de multiplicar dos matrices obtener la matriz inversa del resultado.

y

Guía Nº 1

Laboratorio de Sistemas de Control I

f. Parte 6: Comandos básicos para sistemas de control Desarrolle los siguientes ejercicios: i.

En sus propias palabras defina que es una función de transferencia.

La función de transferencia, es un cociente de polinomios se obtiene con el comando tf, pasándole dos vectores con los coeficientes en s del numerador y denominador; estos deberán ir ordenados desde el elemento de mayor potencia al de menor, añadiendo un cero en el caso de no existir. IV. 





CONCLUSIONES En conclusión vemos que MATLAB es una potente herramienta que disponemos para realizar cálculos en el ambiente de ingeniería y otras especialidades, con capacidades que gradualmente podemos ir incluyendo a nuestros conocimientos y aplicaciones del quehacer laboral e intelectual. Generalmente el estudiante o Ingeniero que trabaja en procesos choca con la dificultad de los complejos cálculos matemáticos que hay que desarrollar para resolverlos problemas que se generan en su área de trabajo. Encontrar la solución a estos problemas muchas veces se torna engorroso y se corre el riesgo del que el más mínimo error que se cometa en los procedimientos no permitan encontrar una respuesta o esta sea errónea. Gracias a las facilidades de MATLAB se puede estar seguro sobre hallar la respuesta correcta con menos esfuerzos y además se tiene un ahorro de tiempo considerable

Guía Nº 1