Está en la página 1de 10

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

LABORATORIO DE CONTROL AUTOMÁTICO

INTRODUCCION A MATLAB
19 mayo 2009

PRACTICA1

Antecedentes

MATLAB ha pasado de ser algo creado simplemente para dar apoyo en cursos
relacionados con matrices a convertirse en una poderosa herramienta, tiene una gran
cantidad de aplicaciones en muchos problemas prácticos de ingeniería y matemáticas.

Es altamente utilizado en geofísica, en el diseño de sistemas de control, en


procesamiento de señales, en inteligencia artificial y redes neuronales, en simulación de
sistemas dinámicos, en optimización, en problemas de modelaje y sistemas dinámicos
(con Simulink, que puede considerarse como una extensión o un anexo de MATLAB),
etc. Otro aspecto importante hoy en día es su capacidad gráfica, en 2 y en 3
dimensiones.

Objetivos:

1.- Familiarizar al alumno con las funciones básicas de Matlab.

2.- Aprender a reducir funciones de transferencia con la ventana de comandos de


Matlab.

Teoría:

MATLAB es el nombre abreviado de “Matriz Laboratory”. Es un programa para


realizar cálculos numéricos con vectores y matrices, y por tanto se puede trabajar
también con números escalares (tanto reales como complejos), con cadenas de
caracteres y con otras estructuras de información más complejas.

Matlab es un lenguaje de alto rendimiento para cálculos técnicos, es al mismo tiempo un


entorno y un lenguaje de programación. Uno de sus puntos fuertes es que permite
construir nuestras propias herramientas reutilizables. Podemos crear fácilmente nuestras
propias funciones y programas especiales (conocidos como M-archivos) en código
Matlab, los podemos agrupar en Toolbox (también llamadas librerías): colección
especializada de M-archivos para trabajar en clases particulares de problemas.

Matlab, a parte del cálculo matricial y álgebra lineal, también puede manejar
polinomios, funciones, ecuaciones diferenciales ordinarias, gráficos.

1
CARACTERÍSTICAS BÁSICAS

EL ESPACIO DE TRABAJO DE MATLAB

Nada más abrir Matlab (podemos hacerlo pinchando en el icono que aparece en el
escritorio o en su defecto en Inicio->Todos los programas) aparecerá una pantalla como
la siguiente:

Todas las sentencias que vamos a utilizar las escribiremos en la ventana Command
Window (ventana de comandos). Es la ventana de mayor tamaño.

Si queremos información acerca de las variables que estamos utilizando en Matlab


podemos verlas en la ventana Workspace (espacio de trabajo) o usar:
who para obtener la lista de las variables (no de sus valores)
whos para obtener la lista de las variables e información del tamaño, tipo y atributos
(tampoco da valores)

Para ver esta ventana tenemos que pinchar en la pestaña que tienen este nombre. Está en
la parte superior izquierda:

2
Si lo que queremos es conocer el valor que tiene una variable lo hacemos escribiendo el
nombre de la variable y pulsando Intro.

Para recordar órdenes previas usamos las flechas del teclado ↑ y ↓. También podemos
verlas en la ventana Command History, ventana situada en la parte inferior izquierda:

MATEMÁTICA SENCILLA

Matlab ofrece la posibilidad de realizar las siguientes operaciones básicas:

Operación Símbolo Expresión en Matlab


suma + a+b
resta - a-b
multiplicación * a*b
división / a/b
potencia ^ a^b

El orden de precedencia es:

Orden de precedencia de operaciones


1º ^
2º * /
3º + -

Matlab no tiene en cuenta los espacios.

Si queremos que Matlab evalúe la línea pero que no escriba la respuesta, basta escribir
punto y coma (;) al final de la sentencia.

ACERCA DE LAS VARIABLES


Matlab almacena el último resultado obtenido en la variable ans.
Las variables son sensibles a las mayúsculas, deben comenzar siempre con una letra, no
pueden contener espacios en blanco y pueden nombrarse hasta con 63 caracteres (en

3
versiones anteriores no permitía tantos caracteres). Si se nombra una variable con más
de 63 caracteres truncará el nombre de dicha variable.

Algunas variables especiales de Matlab:

Variable Definición Valor


ans Variable usada por defecto para almacenar el último resultado ???

pi Razón de una circunferencia a su diámetro 3.1416

eps Número más pequeño, tal que cuando se le suma 1,


crea un número mayor que 1 2.2204e-016

inf Infinito Inf

nan Magnitud no numérica NaN

i y j i  j  1 0 + 1.0000i

realmin El número real positivo más pequeño que es utilizable 2.2251e-308

realmax El número real positivo más grande que es utilizable 1.7977e+308

Tecleando clear podemos borrar todas las variables del espacio de trabajo, pero no
borra lo de las demás ventanas, es decir, no desaparece lo que hay escrito en la ventana
de comandos.

Tecleando clc borramos lo que hay en la ventana de comandos pero no borra las
variables de la memoria del espacio de trabajo.

OTRAS CARACTERÍSTICAS BÁSICAS

Los comentarios se escriben después del símbolo de tanto por ciento (%), de este modo
todo lo que se escriba a continuación en la misma línea no será leído por Matlab.

Podemos colocar varias órdenes en una línea si se separan correctamente, puede ser:

4
por comas (,) que hacen que se visualicen los resultados o puntos y comas (;) que
suprimen la impresión en pantalla

Para cerrar Matlab podemos hacerlo tecleando “quit”.

INICIALIZACIÓN DE MATRICES
La creación de matrices se da a partir de escribir en la pantalla de comandos arreglos de
corchetes separado tanto por espacios o puntos y comas(;) indicando de esta forma sus
respectivas filas y columnas.

A   ... ; ... ; ... ;...  ;


A  ...; ...; ..; 
De aquí un ejemplo:
>> A=[4 5 ; 6 7] % ingresamos una matriz 2x2
A=
4 5
6 7
>> [X1 X2]=size(A) % obtenemos el tamaño de fila y columna
X1 =
2
X2 =
2
>> diag(A) % se obtienen elementos de su diagonal
ans =
4
7

De lo que podemos obtener una gran cantidad de funciones:


X3=length(A); X4=det(A); A2=ones(fil,col);
A3=zeros(fil,col) A(fil,col)=3; triu(A);tril(A);

>>inv(X)

Regresa la inversa de la matriz cuadrada X. Si sale una advertencia puede ser porque la
matriz no es cuadrada o es singular.
>>X‟

Regresa la transpuesta de la matriz X

Solución a sistema de ecuaciones


A veces es necesario resolver un sistema de ecuaciones de la forma Ax=b. una manera
de resolverlo es escribiendo x=in(A)*b. Pero una forma más rápida en MATLAB es
usando el operador de “división de matrices” así: x=A\b De esta manera se genera la
solución mediante eliminación Gaussiana, sin necesidad de formar la inversa.

5
POLINOMIOS:

p x   x 4  8 x 2  9 x  2  0
q x   x 3  4 x  1  0

Podemos usar las funciones:


roots(p); polyval(p,2); conv(p,q);
polyder(p); solver(p)

GRÁFICOS
Figure, hold, subplot, clf,close(n)

Ejemplo :

x= -pi:0.1:pi;
y1=sin(x);
y2=cos(x);
plot(x,y2);
hold on;
plot(x,y1,‟-rv‟); % con este comando „-rv‟ hemos cambiado de color y escogimos
% otro tipo de marker como se muestra en el gráfico

fplot('funcion', [xmin,xmax,ymin,ymax], „control', tol)


ezplot(f, [xmin,xmax,ymin,ymax]);

Los nombres de las funciones y variables deben de comenzar con una letra mayúscula o
minúscula y no deberá contener símbolos especiales a excepción del _ que es valido
siempre y cuando no este al inicio, la misma regla se les aplica a los números.

6
TRANSFER FUNCTIONS

G1  tf num1. den1; G2  tf num2, den 2; H  tf 2, 1 4; %ingreso datos


G3  series G1 , G2 ;
% multiplicación de dos funciones de transferencia en serie
G4  feedback (G1, H ,1)
%simplificación lazo cerrado con retroalimentación negativa(-1)

FOR, WHILE, IF

La programación haciendo uso de ciclos o lazos, también es posible a través de los


comandos for, while, if , como se puede evidenciar en las siguientes líneas de código.

7
Ejercicios de la prepráctica
1. Matrices

 Ingresar las siguientes matrices:

A=

1 2 3
3 5 7
7 8 9

B=

2 5 8
3 6 9
7 4 1

C=

1 5 9
7 5 3
2 4 8

 Realizar la multiplicación de: A*B, B*C

 Realizar la inversa de: A y C

 Realizar la transpuesta de: B y C

8
2. Polinomios

Ingresar los siguientes polinomios , multiplíquelos y proceda a guardarlos en la


variable „num‟.

a) x 2
 4x  2 
b)  x  2

Ingresar los siguientes polinomios , multiplíquelos y proceda a guardarlos en la


variable „den‟ .

a) x 4
 3x  6 
b) x 3
 2x 

3. Funcion de transferencia

Siendo „num‟ el numerador y „den‟ el denominador de una función de transferencia,


genere esta función y guárdela en la variable „data‟

Ingresar las siguientes funciones de transferencia:

 s 2  2s  4 
a)  3 
 s  2s  s 
2

 s 2  29s  45 
b)  4 
 s  3s  5s  1 
3 2

Mostrar la respuesta en parámetros ceros, polos y ganancia (ZPK)

4. Resolver el siguiente sistema de ecuaciones:

9
5. Reducir en serie las siguientes funciones de transferencia:

a)

b)

c)

Observaciones:

La realización de esta práctica es “individual”, se prohíbe terminantemente copias de


pre-prácticas, reportes o cualquier tipo de tarea que se asigne en laboratorio caso
contrario se anulará dicha práctica.

Todo el procedimiento de los ejercicios debe ser impreso y adjuntado en una carpeta
manila y entregada al inicio de la práctica con nombre de estudiante, número de grupo
registrado, paralelo y profesor que dicte la materia.

Ejercicios parecidos a los presentados en la pre-práctica serán evaluados como lección


individual al inicio de la práctica correspondiente.

La información de apoyo se encuentra en los tutoriales de Matlab de la siguiente pagina


web: http://200.126.14.82/web/herramientas/referencias.asp

10

También podría gustarte