Sie sind auf Seite 1von 21

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

Fundada en 1551
FACULTAD DE INGENIERIA ELECTRONICA

“INFORME FINAL DE MATLAB”

INTEGRANTE

Rojas Carbajal Yury Michael – 15190173


Condori Apaza Pavel Eduardo – 15190032

PROFESOR
Ing. Jean Carlos Malca Fernández

CURSO
Laboratorio de Sistemas de Control 1

Lima - Perú
2019
Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

LABORATORIO Nº1 - MATLAB


1. Objetivos:

 Familiarizarse con el entorno de Matlab.


 Familiarizarse con las funciones básicas de Matlab para el desarrollo del curso.

2. Materiales y Equipos:

 Matlab Versión 4 y 5.3.6.12


 PC Pentium II – actual.
 Guía de Laboratorio de Sistemas de Control 1.

3. 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

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

línea de comandos, identificada por el indicador (>>).

-Área de trabajo: para explorar datos que cree o importe de archivos.

4. Procedimiento:

 Parte a) Variables, vectores y matrices: Ingresamos las siguientes instrucciones


en la ventana de comandos y observamos la respuesta en Matlab, también
verificamos las variables que se crean en el workspace:

a=1
b=2
c=a+b
d = cos(a)
sin(a)
e = a*b;

Obteniendo en Matlab respectivamente para cada código

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

Para crear un vector, como por ejemplo un arreglo con cuatro elementos en una fila,
separe las filas con coma o un espacio.
Para crear una matriz con varias filas, separamos las filas con punto y coma. Como por
ejemplo vamos a digitar las siguientes instrucciones en la ventana de comandos.

a = [1,2,3,4]
b = [1,2,3;4,5,6;7,8,10]

Vamos a realizar las siguientes operaciones y explicar el resultado obtenido:

a + 10
sin(a)
a'
p = a*inv(a)
a.*a
a.^3
A = [a,a]
B = [a; a]

Digitamos los comandos mencionados anteriormente y visualizamos:

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 Para (a+10) ==> a todos los términos de la matriz se le suma 10

 Para (sin(a)) ==> a todos los términos de la matriz se le saca el seno.

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 Para (a’) ==> se saca la transpuesta de la matriz a.

 Para (p=a*inv(a)) ==> se multiplica la matriz a por la matriz inversa de a, el


resultado debe de ser la matriz identidad.

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 Para (a.*a) ==> Se multiplica cada término de la matriz a en su respectivo


orden con la matriz a.

 Para (a.^3) ==> Cada término de la matriz a es elevado al cubo.

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 Para A=[a,a] ==> La matriz esta acomodada en una sola fila, cada término
de la matriz A es la matriz a.

 Para B=[a;a] ==> La matriz esta acomodada en 2 filas, cada término de la


matriz B es la matriz a

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 Parte b) Comandos Útiles: Son instrucciones que podemos digitar en la ventana


de comandos y que sirven para borrar, cerrar o pedir ayuda sobre algunos
comandos desconocidos.

>>Help función: Sirve para que Matlab nos dé información sobre algún comando
desconocido que queremos usar.
>>Clc: Sirve para eliminar lo escrito en la ventana de comandos.
>>Clear variable: Sirve para borra una variable especificada del Workspace.
>>Clear all: Sirve para borrar todas las variables del Workspace.
>>Close all: Sirve para cerrar todas las ventanas graficas abiertas.

 Parte c) Guardar y recuperar datos: Para hacer estas acciones digitamos lo


siguiente en la ventana de comandos.

>>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)
>> save datos1.mat ; : Guarda todas las variables en el archivo datos1.mat.
>> save datos2.mat x; : Sólo guarda la variable x en el archivo datos2.mat.
>>load(‘datos.mat’) : Carga los guardado en datos.mat.

 Parte d) Polinomios: En Matlab los polinomios son Representados por vectores,


por ejemplo el siguiente polinomio:

Se representa en Matlab de la siguiente forma:

>>P=[1 , 2 , -9 , -2 , 8]

Para extraer las raíces de un polinomio digitamos:

>>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)

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

Para dividir polinomios:

>>[Q,R]=deconv(P3,P)

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

Ahora definimos el siguiente polinomio y hallamos las operaciones siguientes:

 P(s) + Q(s)

 P(s) x Q(s)

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 P(s) / Q(s)

 Parte e) 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.

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)

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

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)

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

Desarrollamos los siguientes ejercicios:


 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.

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 Cree un script que muestre la gráfica de la función (𝑡) = e −3∗t sin(2 ∗ 𝑝𝑖 ∗ 10 ∗


𝑡) , para un intervalo de 0 a 1 segundo.

Digitamos el siguiente código en el editor:

t=0:0.001:1;
y=(2.7183.^(-3*t)).*sin(2.*pi*10*t);
plot(t,y);

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 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.

Digitamos el siguiente código en el Editor:

t=input('ingrese intervalo de tiempo = ');


f=input('ingrese frecuencia = ');
y=(2.7183.^(-3.*t)).*sin(2.*pi*f.*t);
plot(t,y);

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

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

Digitamos el siguiente código en el Editor:

n=input('Ingresar el Número: ');


f=1;
for i=1:n
f=f*i;
end
f

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

Digitamos el siguiente código en el Editor:

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

a=[1 2 3;4 5 6;7 8 9];


b=[1 2 3;4 5 6;7 8 9];
c=a.*b;
d=inv(c);
d
e=c*d;
e

 Parte f) Comandos básicos para sistemas de control: Para definir una función de
transferencia en Matlab, lo hacemos con el comando tf.
Definimos la siguiente función de transferencia:

>>% Introducir una función de transferencia polinómica


>>num=[ 1, 2, 3]; % declaramos el numerador como un polinomio
>>den=[1, 3, 3, 1]; % declaramos el denominador como un polinomio
>>sys=tf(num,den) % declaramos la función de transferencia

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

Desarrollamos los siguientes ejercicios:

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

Una funcion de transferencia es un modelo matematico que relaciona la salida


de un sistema con la entrada.

 Defina en Matlab la siguiente función de transferencia:

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 Encuentre los ceros de G(s) y H(s). (cuando el numerador se hace cero). Y


Encuentre los polos de G(s) y H(s). (cuando el denominador se hace cero).

Matlab Informe Final del Laboratorio #1


Facultad de Ingeniería Electrónica – UNMSM Laboratorio de Sistemas de Control 1

 Obtener la respuesta temporal de G(s) y H(s) ante una entra escalón unitario
(step)

Matlab Informe Final del Laboratorio #1