Você está na página 1de 10

Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 1

MATLAB
reducen muchos de los algoritmos que resuelven

Huamán Calderón Danilo Yandaly ( 16190072 ) Montañez Huamán Geraldín ( 16190097 )


Universidad Nacional Mayor de San Marcos - Lima
Facultad de Ingeniería Electrónica

RESUMEN: Este documento contiene los códigos problemas de matemática aplicada e Ingeniería.
de las funciones básicas de MATLAB enfocado en el
curso de Sistemas de Control, para conocer y Principales partes del entorno de Matlab.
comprender las funciones básicas del programa se
empleó el manual virtual proporcionado por el
mismo programa al declarar la sentencia HELP en
el comand window y asimismo en la página principal
de MATHWORKS, en ambas están incluidas las
múltiples funciones de MATAB. Los resultados de
este trabajo se muestran al compilar cada archivo
.m, en el cuál si alguna función está mal declarada
el programa no permite su ejecución.

Palabras Clave: Funciones básicas, HELP,


FIGURA 1 ENTORNO DE MATLAB
MATHWORKS, MATLAB.

Abstract: This document contains the codes of the El escritorio incluye los siguientes paneles:
basic functions of MATLAB focused on the course of -Carpeta actual (Current Folder): para acceder a los
Control Systems, in order to know and understand archivos.
the basic functions of the program, the virtual -Ventana de comandos (Command Windows): para
manual provided by the same program was used ingresar comandos en la línea de comandos,
identificada por el indicador (>>).
when declaring the HELP statement in the comand
-Área de trabajo: para explorar datos que cree o
window. on the main page of MATHWORKS, both importe de archivos.
include the multiple functions of MATAB. The results
of this work are shown when compiling each .m file, Para mayor información sobre un comando en
in which if some function is badly declared the particular puede ejecutarse help topic o simplemente
program does not allow its execution. help ’comando’, desde la ventana de comando de
MATLAB.
Keywords: Basic functions, HELP,
MATHWORKS, MATLAB.

I. INTRODUCCIÓN

MATLAB (MATrix LABoratory) es un programa


orientado al cálculo con vectores y matrices, al que se
Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 2

FIGURA 2 COMANDO HELP

II. MATERIALES Y MÉTODOS


A. Equipos y Materiales Utilizados Cuando no se especifica una variable de salida,
a. Software MATLAB. MATLAB utiliza la variable ans, abreviatura de
answer (respuesta), para almacenar los resultados
b. Manuales Virtuales del cálculo.

B. Procedimiento
a. Parte 1: Variables, Vectores y matrices
Para crear una variable denominada a, debe de
ingresar una instrucción en la línea de comandos.
MATLAB agrega la variable a al área de trabajo y
muestra el resultado en la ventana de comandos.

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.

Para crear un arreglo con cuatro elementos en una


Cree algunas variables más. fila única, separe los elementos con una coma (,) o
un espacio.
Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 3

Este tipo de arreglo es un vector fila.


Para crear una matriz con varias filas, separe las
filas con punto y coma.

Realice las siguientes operaciones y explique el


resultado obtenido:
Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 4

Describa en sus propias palabras las siguientes


instrucciones y muestre un ejemplo de su utilización:

*CLC: Limpia todo el texto del Comand Window

*Clear variable: Borra una variable específica.

*Clear all: Este comando es empleado para borrar las


variables declaradas.

b. Parte 2: Comandos útiles - Help función


Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 5

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; (guarda todas las variables en
el archivo datos1.mat)
>> save datos2.mat x; (sólo guarda la variable x en
el archivo datos2.mat )
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 e desarrollo
Asimismo en el WORKSPACE se comprueba que se de la Parte 4.
limpian todas las variables.
d. Parte 4: Polinomios
En Matlab los polinomios son representados por
vectores. Por ejemplo el siguiente polinomio:
(𝑠)=𝑠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]);
*Close all: Este comando es empleado para cerrar Para multiplicar polinomios
ventanas abiertas >> P3=conv(P,P2);
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:
P(s)+Q(s) P(s)xQ(s) P(s)/Q(s)

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,
c. Parte 3: Guardar y recuperar datos 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.
Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 6

Llame a estas funciones como lo haría con cualquier siguiente función de transferencia:
otra función o comando de MATLAB. (𝑠)=𝑠2+2𝑠+3𝑠3+3𝑠2+3𝑠+1
Existen dos tipos de archivos de programa: >>% Introducir una función de transferencia
Scripts, que no aceptan argumentos de entrada ni polinómica
devuelven argumentos de salida. Operan sobre >>num=[ 1, 2, 3]; % declaramos el numerador
datos en el área de trabajo. como un polinomio
Funciones, que aceptan argumentos de entrada y >>den=[1, 3, 3, 1]; % declaramos el denominador
devuelven argumentos de salida. Las variables como un polinomio
internas son locales para la función. >>sys=tf(num,den) % declaramos la función de
Clarifiquemos esto con el siguiente ejemplo: transferencia
En el Editor creamos el siguiente script llamando: sys =
triarea.m que calcula el área del triángulo: s^2 + 2 s + 3
b = 5; ---------------------
h = 3; s^3 + 3 s^2 + 3 s + 1
a = 0.5*(b.*h) Continuous-time transfer function.
Después de guardar el script, este puede ser
ejecutado desde la línea de comandos, de la Desarrolle los siguientes ejercicios:
siguiente manera: i. En sus propias palabras defina que es una
>> triarea función de transferencia
a=
7.5000 En un sistema se tiene señales tanto de
Nótese que si queremos calcular el área de otro entrada como de salida. La manera como
triangulo usando el mismo script, se debería relacionamos estas señales es mediante una
actualizar los nuevos valores de b y n modificando función de transferencia. Esta funcion
el código del script. Sin embargo, en lugar de cuenta con un numerador(señal de salida) y
actualizarlo manualmente cada vez, se puede hacer denominador(señal de entrada).
un programa más flexible convirtiéndolo en una
función. Reemplace las líneas de asignación de ii. Defina en Matlab la siguiente función de
valores a b y h con la instrucción de declaración de transferencia:
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
a2 =
10
a3 = iii. Encontrar el equivalente en funciones
9 parciales de G(s).
f. Parte 6: Comandos básicos de control
Para definir una función de transferencia en Matlab,
lo hacemos con el comando tf. Definamos la
Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 7

Mediante la función residue hallamos los


términos de una función parcial equivalente Con la ayuda de la función pzmap podemos hallar
de G(s). los polos y ceros de la función de transferencia.
Estos resultados se muestran en la figura anterior.

v. Encuentre los polos de G(s) y H(s). (cuando


el denominador se hace cero).
Este cálculo ya se realizó en la pregunta
anterior.

vi. Obtener la respuesta temporal de G(s) y


H(s) ante una entra escalón unitario (step)

.RESPUESTA TEMPORAL DE G(s)

Donde:
RESPUESTA TEMPORAL DE H(s)
t: Términos en el numerador
p: Términos en el denominador
k: Residuo

13.34 34 21.67
𝐺(𝑠) = − +
𝑠+4 𝑠+2 𝑠+1

iv. Encuentre los ceros de G(s) y H(s). (cuando


el numerador se hace cero).

III. CUESTIONARIO FINAL


PARTE5:

1. 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.
Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 8

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

t=0:0.01:1;
y=exp(-3*t).*sin(2*pi*10*t);
plot(t,y,'c');
title('exp(-
3*t)*sen(2pi*f*t)')
ylabel('y=x(t)')
xlabel('t')

4. Cree una función que calcule el factorial de


un número.

%calculo del factorial de un


numero
function [y]=factorial(n)
a=1;
for i=1:n
a=i*a;
end
y=a;

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

function []=grafica(f,t0,t1)
%datos a ingresar
frecuencia(f), tiempo inicial
t0
%tiempo final tf
t=(t0:0.001:t1);
y=exp(-3*t).*sin(2*pi*f*t);
Hs=plot(t,y,'m');
set(Hs, 'markersize',5 );
title('exp(-
3*t)*sen(2pi*f*t)') 5. Cree una función que sea capaz de
ylabel('y=x(t)') multiplicar dos matrices y obtener la matriz inversa
del resultado.
xlabel('t')
end %funcion que sea capaz de
Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 9

obtener la inversa
function [I]=inversa(A,B)
M=size(A);
m=M(1,2);
N=size(B);
n=N(1,1);
C=A*B;
if (det(C)~=0 && m==n)
I=inv(C);
else
fprintf('ERROR')

end

PARTE 6:

1. En sus propias palabras defina que es una


función de transferencia.
2. Defina en MATLAB la siguiente función de
transferencia
3. Encontrar el equivalente en funciones
parciales de G(s).
4. Encuentre los ceros de G(s) y H(s).
5. Encuentre los polos de G(s) y H(s).
6. Obtener la respuesta temporal de G(s) y H(s)
ante la entrada de un escalón unitario.

IV. CONCLUSIONES
- El sistema de control indirecto nos permite
usar un flujo de aire con presión baja, lo suficiente
para activar las válvulas, se puede adecuar otra
fuente independiente para poder controlar el
actuador con otro suministro quizás de mayor
presión.
Universidad Nacional Mayor de San Marcos – Facultad de Ingeniería Electrónica 10

V. BIBLIOGRAFÍA
o http://www.eng.newcastle.edu.au/~jhb519/teac
hing/caut1/Apuntes/matlab1.pdf

Você também pode gostar