GUIA2a - INTRODUCCION - MATLAB

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 23

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER

FACULTAD DE CIENCIAS BASICAS


DEPARTAMENTO DE MATEMATICAS Y ESTADISTICA
ECUACIONES DIFERENCIALES/LABORATORIO

GUIA2.Introducción a MATLAB

INTRODUCCION

En estas notas se pretende realizar una introducción muy básica a MATLAB, orientada
fundamentalmente al estudio de sistemas de control. En líneas generales, MATLAB es un sistema
interactivo basado en matrices para cálculos cientificos y de ingenieria. Desde el punto de vista del
control, MATLAB se puede considerar un entorno matemático de simulación que puede utilizarse
para modelar y analizar sistemas. Sirve para estudiar sistemas continuos, discretos, lineales y no
lineales.

MATLAB constituye un entorno abierto, para el cual numerosas paquetes especificos adicionales
(toolboxes) han sido desarrollados. En el caso que nos ocupa se utilizará fundamental la ‘Control
System Toolbox’. Estos paquetes especificos adicionales están constituidos por un conjunto de
funciones que pueden ser llamadas desde el programa y mediante las cuales se pueden realizar
multitud de análisis.

El núcleo fundamental de MATLAB se encuentra en los subdirectorios BIN y MATLAB. En BIN


se encuentran los programas ejecutables. El subdirectorio MATLAB contiene los ficheros .m
(aunque serán explicados posteriormente, comentamos brevemente que consisten en ficheros
escritos a base de comandos de MATLAB y que realizan una función determinada), que contienen
la funciones básicas para el funcionamiento de MATLAB. En este sentindo, es necesario comentar
que MATLAB cuenta con dos tipos básicos de funciones:

Las llamadas built-in functions: Son funciones que MATLAB tiene incorporadas internamente y
por tanto no son accesibles al usuario.

Funciones m functions: Son funciones cuyo código es accesible. Las que se encuentran en el
subdirectorio MATLAB son las básicas para el funcionamiento del sistema.

Las toolboxes se suelen instalar en forma de subdirectorios en el disco duro, colgando del
subdirectorio TOOLBOX( en la versión WINDOWS). En ellos se encuentran tambien funciones .m
orientadas al control de sistemas. Además, se pueden incorporar otros toolboxes (SIGNAL
PROCESSING, ROBUST CONTROL, entre otros) e incluso funciones propias del usuario. En el
caso de las versiones para WINDOWS, el arranque del programa se realiza ‘pinchando’ con el ratón
en el icono correspondiente.

ENTORNO.

Una vez arrancado MATLAB aparece el prompt o línea de comandos del sistema (>>). Este es el
momento de comentar la existencia del comando más famoso de cualquier aplicación: help.
Introduciendo este comando aparecerán todas las citadas built-in functions, las contenidas en el
subdirectorio MATLAB y todas aquellas contenidas en los subdirectorios incluidos en el PATH
(ver cuadro 1).

Para obtener información sobre cualquiera de las funcones se introduce help nombre-función.
Ejemplo: help cos(cos es una función que calcula el coseno de un número). Una cuestión
importante a tener en cuenta es que MATLAB distingue entre mayusculas y minusculas. En este
sentido, los nombres de la función se introducirán en minusculas. El comando demo permite
obtener una demostración de las ‘capacidades’ del sistema.

Funciones y simbolos

Si se quiere guardar toda la sesión en un archivo (comandos introducidos y resultados), basta usar el
comando diary nombre-archivo y se guardará la sesión en un archivo llamado diary. Cuando no se
quiera seguir almacenando la información se introducirá diary off.

El simbolo % sirve para poner comentarios en los programas (todo lo escrito desde ese símbolo
hasta el final de la línea no se ejecutará).

Cuadro 1. Lista del comando help


Variables y operadores
Ejemplo1:

Ejemplo2:

Variables y constantes especiales


Respecto a la notación, los comandos MATLAB del toolbox de control de
sistema se destacan en rojo mientras que los comandos MATLAB no
estándares se destacan en verde.
POLINOMIOS
Los polinomios se representan por vectores conteniendo los coeficientes del polinomio en
orden descendente. Por ejemplo el polinomio s3+2s2+3s+4 se representa:
p=[1 2 3 4];

Mediante la función roots se pueden encontrar las raíces de esa ecuación.


roots(p)
Del mismo modo, se puede calcular un polinomio a partir de sus raíces usando la función poly.

p2 =poly([-1 -2]);

Los polinomios se pueden multiplicar y dividir usando las funcione conv y deconv
respectivamente:
Ejemplo3.

MATRICES
El comando size devuelve el número de filas y columnas de una matriz y length la mayor
dimensión.
Ejemplo4:

Ejemplo5:
Ficheros Scripts

EJERCICIO1

%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%Ejemplo de prueba%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%%
%% %%%
%%Operaciones con Matrices%

A=[1 2 3;4 5 6];


B=[1 2; 3 4; 5 6];
C=A*B %Producto entre matrices
T=inv(C)^2 %cuadrado de la inversa de C
Tt=T' %Transpuesta de T
GRAFICOS.
Para dibujar gráficos es preciso generar la tabla de valores correspondiente. Para ello Matlab
dispone de dos funciones linspace y logspace que permiten generar vectores de puntos
espaciados de forma lineal o logarítmica respectivamente.

 Para hacer gráficos en dos dimensiones (2D) se utiliza la función plot cuya sintaxis
básica es:

 Para poner título tanto a la figura como a los ejes coordenados existen una serie de
funciones:

Creación de un diagrama
La función plot adopta diferentes formas, según los argumentos de entrada.
 Si y es un vector, plot(y) grafica los elementos de y contra los índices de los elementos de y y
conecta los puntos con líneas rectas.
 Si se especifican dos vectores como argumentos, plot(x,y) produce un gráfico de y contra x.

Ejemplo1: x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
SALIDA MATLAB

ROTULO DE EJES

Rotule los ejes y agregue un título. La secuencia de caracteres \pi en la función xlabel crean el
símbolo . La propiedad FontSize en la función title aumenta el tamaño del texto que se utiliza
para el título.
Ejemplo2
xlabel('x = 0:2\pi')
ylabel('Sine of x')
title('Plot of the Sine
Function','FontSize',12)
SALIDA MATLAB
Diagramación de varios conjuntos de datos en una gráfica:Varios pares de argumentos x-
y crean múltiples gráficos con una sola llamada a plot. MATLAB utiliza un color diferente
para cada línea.
Ejemplo3: Estas instrucciones grafican tres funciones de x relacionadas entre sí:

x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)

SALIDA DE MATLAB

La función legend proporciona una forma fácil para identificar las líneas individuales:

legend('sin(x)','sin(x-.25)','sin(x-.5)')

SALIDA MATLAB
Especificación de colores y estilos de línea

Cuando se grafican datos con el comando plot, es posible especificar colores, estilos de línea y
marcadores (como asteriscos o círculos):

plot(x,y,'color_style_marker')
color_style_marker contiene de uno a cuatro caracteres (encerrados entre comillas simples)
construidos a partir de un color, un estilo de línea y un tipo de marcador.
Ejemplo4:

plot(x,y,'r:+')

Gráfica los datos usando líneas punteadas rojas y coloca un marcador + en cada punto.
color_style_marker está compuesto por combinaciones de los siguientes elementos.
Líneas y marcadores
Si especifica un tipo de marcador, pero no un estilo de línea, MATLAB ® crea la gráfica
usando solo marcadores, pero sin líneas. Por ejemplo:
plot(x,y,'ks')

Genera un diagrama con cuadrados negros en cada punto, pero no conecta los marcadores
con líneas.
La instrucción:
plot(x,y,'r:+')

Genera un diagrama de línea punteada roja y coloca un marcador de signo más en cada
punto.
Colocación de marcadores en uno de cada diez puntos de datos
Este ejemplo muestra cómo usar menos puntos para graficar los marcadores que para
dibujar las líneas. Aquí se diagraman los datos dos veces, usando un número diferente de
puntos para las líneas punteadas y los marcadores.
Ejemplo5:
x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),'r:',x2,sin(x2),'r+')
Visualización de varios diagramas en una figura
El comando subplot permite visualizar varios diagramas en la misma ventana o imprimirlos
en la misma hoja de papel. Si escribe
subplot(m,n,p)

La ventana de la figura se divide en una matriz de m por n con pequeños subdiagramas y se


selecciona el p-ésimo subdiagrama como diagrama actual. Los diagramas se numeran a lo
largo de la primera fila de la figura, luego de la segunda, y así sucesivamente.
Ejemplo6, estas instrucciones grafican los datos en tres subregiones de la ventana de la
figura.

x = 0:pi/20:2*pi;
subplot(3,1,1); plot(sin(x))
subplot(3,1,2); plot(cos(x))
subplot(3,1,3); plot(sin(x).*cos(x))

SALIDA DE MATLAB
Control de los ejes
El comando axis ofrece varias opciones para configurar la escala, la orientación y la
relación de aspecto de las gráficas.
Límites de ejes y marcas de graduación automáticos
Por defecto, MATLAB busca los máximos y mínimos de los datos, y escoge los límites de
los ejes para abarcar este rango. MATLAB selecciona los límites y marcas de los ejes con
el fin de producir una gráfica que exhiba los datos con claridad. Sin embargo, es posible
especificar otros límites usando las funciones axis o xlim, ylim y zlim.
Configuración de límites de los ejes
El comando axis le permite especificar sus propios límites:
axis([xmin xmax ymin ymax])

o bien, para gráficas tridimensionales,

axis([xmin xmax ymin ymax zmin zmax])

Use el comando: axis auto (para habilitar nuevamente la selección


automática de límites)
Configuración de la relación de aspecto de los ejes
El comando axis también le permite especificar varios modos predefinidos. Por ejemplo:
axis square (hace que el eje x y el eje y tengan la misma longitud)

axis equal (hace que los incrementos entre marcas de graduación individuales del eje x y
el eje y tengan la misma longitud).

Esto significa que:

plot(exp(i*[0:pi/10:2*pi])) seguido de axis square o axis equal convierte el óvalo en


un círculo.

Por su parte, axis auto normal


Devuelve el ajuste de escala de los ejes a su modo automático predeterminado.

Configuración de la visibilidad de los ejes


Use el comando axis para que los ejes queden visibles o invisibles.
axis on (deja visibles los ejes. Esta es la opción establecida por
defecto).

axis off (vuelve invisibles los ejes)


Configuración de líneas de cuadrículas
El comando grid activa y desactiva las líneas de cuadrículas. La instrucción
grid on (activa las líneas de la cuadrícula)

grid off (las vuelve a desactivar).

Incorporación de etiquetas y títulos


Ejemplo7: Muestra cómo crear una gráfica y mejorar su presentación:
 Defina los límites de los ejes x e y (axis)
 Rotule los ejes x e y (xlabel, ylabel)
 Agregue un título (title)
 Agregue una nota de texto en la gráfica (text)

t = -pi:pi/100:pi;
y = sin(t);
plot(t,y)
axis([-pi pi -1 1])
xlabel('-\pi \leq {\itt} \leq \pi')
ylabel('sin(t)')
title('Graph of the sine function')
text(0.5,-1/3,'{\itNote the odd symmetry.}')
SALIDA MATLAB
Almacenamiento de figuras
Para guardar una figura, seleccione Save (Guardar) en el menú File (Archivo). Esto guarda
la figura en un archivo, incluyendo sus propiedades, sus menús, controles de interfaz de
usuario y todas las anotaciones correspondientes (es decir, la ventana completa). Si no ha
guardado la figura antes, aparece el cuadro de diálogo Save As (Guardar como). Este
cuadro de diálogo proporciona opciones para guardar la figura como un archivo .fig o
exportarla a un formato gráfico.
Si anteriormente ha guardado la figura, puede usar Save (Guardar) para guardar la figura
“de forma silenciosa”, sin que aparezca el cuadro de diálogo Save As.
Para guardar una figura en un formato gráfico estándar (como TIFF o JPEG) que permita
usarla con otras aplicaciones, seleccione Save As (o Export Setup [Configuración de
exportación], si desea control adicional) en el menú File.
También se puede guardar una figura desde la línea de comandos:
 Use la función savefig para guardar una figura y los objetos gráficos que contiene como un
archivo .fig.
 Utilice el comando saveas para guardar la figura en uno de varios formatos posibles.
Cómo cargar una figura
Es posible cargar figuras en MATLAB mediante el uso de estas funciones:
 Utilice la función openfig para cargar figuras guardadas como archivos .fig.
 Use la función imread para leer archivos gráficos estándar (incluso figuras guardadas) en
MATLAB.
Generación de código de MATLAB para volver a crear una figura
Es posible generar código de MATLAB para volver a crear una figura y la gráfica que
contiene; para ello, seleccione Generate code (Generar código) en el menú File de la
figura. Esta opción es de especial utilidad si ha desarrollado una gráfica usando
herramientas de diagramación y desea crear una gráfica similar con los mismos datos u
otros diferentes.
Almacenamiento de datos del área de trabajo
Para guardar las variables del área de trabajo, seleccione Save Workspace As (Guardar
área de trabajo como) en el menú File de la figura. Para volver a cargar datos almacenados
use el elemento Import Data (Importar datos) en el menú File de la figura. MATLAB es
compatible con una amplia variedad de formatos de archivos de datos, incluidos los
archivos de datos de MATLAB, que tienen una extensión .mat.
ACTIVIDADES: PRACTICAS RESUELTAS

EJERCICIO1

%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%Ejemplo de prueba%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%%
%% %%%
%%Operaciones con Matrices%

A=[1 2 3;4 5 6];


B=[1 2; 3 4; 5 6];
C=A*B %Producto entre matrices
T=inv(C)^2 %cuadrado de la inversa de C
Tt=T' %Transpuesta de T

EJERCICIO 2:

x=linspace(0,5,100);
y=5*sin(x);
plot(x,y,'bo')
EJERCICIO 3: Se quiere graficar las siguientes funciones :

𝑥1 = 4. sin(5𝑡)
𝑥2 = 8 . sin(3𝑡)
𝑥3 = 𝑥1 + 𝑥2
Se crea un script en Matlab:
clear all; %borra variables
clc; %borra pantalla
t=linspace(0,3,2000); %crea vector de tiempo
x1= 4*sin(5*t);%primera función
x2=8*sin(3*t);%segunda función
x3= x1+x2; %construye x3 como la suma de x1 y x2
plot(t, x1,t,x2,t,x3);% grafica las funciones x1,x2 y x3
legend('x_1','x_2','x_3');

SALIDA EN MATLAB

EJERCICIO 4:

Se quiere graficar las siguientes funciones:


𝑥1 = 4. sin(5𝑡) 𝑦1 = 2. sin(5𝑡)
𝑥2 = 8 . sin(3𝑡) 𝑦2 = 6 . sin(3𝑡)
𝑥3 = 𝑥1 + 𝑥2 y3 = 𝑦1 + 𝑦2
SCRIPT EN MATLAB:

clear all; %borra variables


clc; %borra pantalla
%Grafico1
t=linspace(0,3,2000); %crea vector de tiempo
x1= 4*sin(5*t);%primera función
x2=8*sin(3*t);%segunda función
x3= x1+x2; %construye x3 como la suma de x1 y x2
subplot(1,2,1);
plot(t, x1,t,x2,t,x3);%realiza la grafica
legend('x_1','x_2','x_3');
title('Funciones Sinusoidales');
xlabel('t');
ylabel('x(t)');
%Grafico 2
y1= 2*sin(5*t);%primera función
y2=6*sin(3*t);%segunda función
y3= y1+y2; %construye x3 como la suma de x1 y x2
subplot(1,2,2);
plot(t, y1,t,y2,t,y3);%realiza la grafica
legend('y_1','y_2','y_3');
title('Funciones Sinusoidales');
xlabel('t');
ylabel('y(t)');
ACTIVIDAD PROPUESTA:

1. Elabore un Script en Matlab con las siguientes funciones:

𝜋
a) 𝑣1 = 15. cos (2𝜋𝑡 − 3 ) b) 𝑣1 = 4.2. sen(50𝑡)
𝜋
𝑣2 = 10. cos (𝜋𝑡 − 2 ) 𝑣2 = 2.7. cos(50𝑡 + 84°)
𝜋
𝑣3 = 9. cos (3𝜋𝑡 + 4 ) 𝑣3 = 𝑣1 + 𝑣2

2. Las funciones del punto (1) graficarlas en un misma pantalla de salida de resultados
en Matlab

También podría gustarte