Professional Documents
Culture Documents
TURNO: NOCHE
FECHA: 26/08/10
PRACTICA #1
INSTRUCCIONES PARA GENERAR SEÑALES DISCRETAS Y CONTINUAS
OBJETIVO GENERAL
OBJETIVOS ESPECIFICOS
MARCO TEORICO
LA FUNCIÓN 'PLOT'
Una vez definidos, es posible ya utilizar la función Plot, cuya sintaxis más sencilla es:
Plot (x, y)
Con esta acción se crea una ventana gráfica donde aparece la representación que hemos
indicado. Para modificar los puntos que se representan basta con redefinir los vectores x
e y con los nuevos valores e invocar nuevamente la función.
y = cos(x);
La función Plot admite como argumentos tantos pares de vectores como se deseen, lo
que permite representar en una misma gráfica más de un conjunto de datos. Para ello, si
los pares de datos a representar son los vectores x1, y1, x2, y2,…, xn, yn, la función se
invocaría con la siguiente sintaxis:
Así, mediante un doble click sobre el trazo de la figura o sobre los puntos que la forman
se despliega el menú de edición de línea, donde se pueden cambiar características como
el símbolo para representar los puntos, tipo de trazado.
Con un doble click sobre cualquier otro punto se entra en el menú de edición de ejes,
que permite modificar los títulos de la figura y los ejes, límites y tipo de éstos (lineal o
logarítmico) o incluir una rejilla (grid) en la figura.
Desde el menú "Tools" es posible también añadir una leyenda a la figura, cuyo
contenido de texto puede cambiarse con doble click, así como su posición en la figura
(arrastrándola).
Finalmente, se dispone de los botones de Añadir texto, flechas o líneas, que permiten
modificar la figura según las preferencias del usuario: para utilizar estas opciones hay
que seleccionar el botón correspondiente y hacer un click sobre la figura en el punto
donde se desee añadir alguno de estos gráficos. En caso de "Añadir texto" esta acción
presenta un cursor que permite añadir el texto que se desee. En los otros casos, este
punto marcará el punto origen de la flecha/línea, siendo necesario marcar el punto
destino de la flecha con otro click en el lugar donde se desee. Las características del
trazo pueden editarse posteriormente mediante un doble click sobre el trazo de la
flecha/línea.
FUNCIÓN EZPLOT
xmin y xmax son dos variables numéricas que indican el intervalo de representación.
FUNCIÓN STEP
La función step es una de las más usadas del Matlab para diseño en control. Dado un
sistema que puede describirse por ya sea una función de transferencia o un conjunto de
ecuaciones de espacio de estado, la respuesta a un entrada escalón puede graficarse
inmediatamente. Una entrada escalón puede describirse como un cambio en la entrada
desde cero a un valor finito en el tiempo t = 0. Por defecto, el comando step hace un
escalón unitario 1(t) (es decir, la entrada va desde cero a uno en el tiempo t = 0). El
comando básico para usar la función s t e p es uno de los siguientes (dependiendo si se
tiene un conjunto de ecuaciones de espacio de estado o la forma función de
transferencia):
step(A,B,C,D)
step(num,den)
El comando step puede también usarse con un sistema con más de una entrada como
sigue:
step(A,B,C,D,iu)
De esta manera, el comando step creará una figura con todas las salidas ploteadas con
un escalón en la iu -ésima entrada.
Si se tiene la función de transferencia del sistema en lugar de las ecuaciones de espacio
de estado, el comando step se usa como step (num., den). Porque una función de
transferencia puede tener sólo una entrada, todas salidas (representadas por el número
de renglones en el numerador de la función de transferencia) se plotearán en un
conjunto de ejes
Hasta ahora, nos hemos manejado con entradas escalón unitario. Suponga que la entrada
a nuestro sistema no fuera 1 Newton sino 100N. El comando step puede acomodarlo
multiplicando por 100 las matrices de estado B y D, o multiplicando por 100 el
numerador de la función de transferencia.
FUNCIÓN SUBPLOT
subplot divide la cifra actual en paneles rectangulares que están numeradas fila sabio.
Cada panel contiene un objeto ejes. parcelas posteriores se emiten en el panel actual.
subplot (m, n, p, 'replace') Si los ejes especificada objeto ya existe, borrar y crear un
nuevos ejes
subplot (m, n, p), donde P es un vector, especifica una posición de los ejes que cubre
todas las posiciones subplot que figuran en el P, incluidas las que se extendió por el Sr.
P. Por ejemplo, subplot (2,3, [2 5]) crea uno de los ejes que abarcan las posiciones 2 y 5
sólo (porque no hay lugares que intervienen en la cuadrícula), mientras que subplot (2,3,
[2 6]), se crea uno de los ejes que abarcan las posiciones 2, 3, 5 y 6.
subplot (h), prevé los ejes objeto con identificador actual h para su posterior comandos
gráficos.
subplot (..., Prop1, valor1, prop2, valor2, ...) se fija el valor de la propiedad especificada
pares-en el eje subplot. Para añadir el subplot de una cifra concreta pasar la cifra
manejar como el valor de la propiedad Parent. No se puede especificar tanto un padre y
una posición, es decir, subplot ('Posición', [izquierda] inferior altura anchura, 'Padre', h)
no es una sintaxis válida.
FUNCION AXIS
([ymax del ymin del xmax del xmin]) fija los límites para x- y y- eje del axis actuales.
([cmax del cmin del zmax del zmin del ymax del ymin del xmax del xmin]) fija x-, y-, y
z- límites del eje y los límites del escalamiento del color del axis actual.
v = eje vuelve un vector de la fila que contiene los factores de posicionamiento para x-,
y-, y z- eje. v tiene cuatro o seis componentes dependiendo si el axis actual son 2.as o
tridimensionales, de respectivamente. Los valores vueltos son las hachas actuales XLim,
Ylim, y ZLim características.
automóvil del eje fija comportamiento del defecto de MATLAB para computar los
límites del axis de la corriente automáticamente, basado en el mínimo y los valores
máximos de x, y, y z datos. Usted puede restringir este comportamiento automático a un
eje específico.
manual del eje y eje (eje) congela el escalamiento en los límites actuales, de modo que
si asimiento es en, los diagramas subsecuentes utilizan los mismos límites. Esto fija
XLimMode, YLimMode, y ZLimMode características a manual.
eje firmemente fija los límites del eje a la gama de los datos.
terraplén del eje fija los límites del eje y PlotBoxAspectRatio de modo que el axis
llenen el rectángulo de la posición. Esta opción tiene un efecto solamente si
PlotBoxAspectRatioMode o DataAspectRatioMode es manual.
ij del eje pone el origen del sistema coordinado en la esquina izquierda superior. i- el eje
es vertical, con los valores aumentando de tapa al fondo. j- el eje es horizontal con los
valores que aumentan de izquierda a derecha.
eje xy dibuja el gráfico en el defecto que el axis cartesianos ajustaron a formato con el
origen del sistema coordinado en la esquina izquierda más baja. x- el eje es horizontal
con los valores que aumentan de izquierda a derecha. y- el eje es vertical con los valores
que aumentan de fondo a la tapa.
eje igual fija el cociente de aspecto de modo que las unidades de datos estén iguales en
cada dirección. El cociente de aspecto del x-, y-, y zel eje se ajusta automáticamente
según la gama de las unidades de datos en x, y, y z direcciones.
imagen del eje es igual que eje igual salvo que la caja del diagrama cabe firmemente
alrededor de los datos.
cuadrado del eje hace el cuadrado de la región del axis de la corriente (o cubicó cuando
es tridimensional). Esta opción ajusta xeje, y- eje, y zel eje de modo que tengan
longitudes iguales y ajusta los incrementos entre las unidades de datos por consiguiente.
eje vis3d congela características del cociente de aspecto para permitir la rotación de
objetos tridimensionales y se elimina.
eje normal ajusta automáticamente el cociente de aspecto del axis y del escalamiento
relativo de las unidades de datos de modo que el diagrama quepa la forma de la figura
tan bién como posible.
eje apagado da vuelta apagado a todas las líneas del eje, marcas de la señal, y etiquetas.
eje encendido gira todas las líneas del eje, marcas de la señal, y etiquetas.
Palabras claves a eje puede ser combinado, separado por un espacio (e.g., eje
firmemente igual). Éstos se evalúan de izquierda a derecha, así que las palabras claves
subsecuentes pueden sobreescribir características cerca fijadas anteriores.
Cuando usted especifica mínimo y los valores máximos para x-, y-, y z- axis, eje fija
XLim, Ylim, y ZLim las características para el axis actuales al mínimo y a los valores
máximos respectivos en la discusión enumeran. Además, XLimMode, YLimMode, y
ZLimMode las características para las hachas actuales se fijan a manual.
La tabla siguiente demuestra los valores de las características de las hachas fijadas cerca
eje igual, eje normal, cuadrado del eje, y imagen del eje.
Característica o comportamiento eje igual eje normal cuadrado del imagen del
de las hachas eje eje
DataAspectRatio característica [1 1 1] no fijado no fijado [1 1 1]
DataAspectRatioMode característica manual automóvil automóvil manual
PlotBoxAspectRatio característica [3 4 4] no fijado [1 1 1] automóvil
PlotBoxAspectRatioMode manual automóvil manual automóvil
característica
Estirar-a-llene comportamiento; lisiado activo lisiado lisiado
Para controlar la presencia y el aspecto de las etiquetas del eje en un gráfico, utilice el
redactor de la característica, una de las herramientas que trazan. Para los detalles, vea El
redactor de la característica en la documentación de los gráficos de MATLAB.
xlabel (“secuencia”)
xlabel (fname)
xlabel (…, 'PropertyName', PropertyValue,…)
xlabel (axes_handle,…)
h = xlabel (...)
ylabel (...)
ylabel (axes_handle,…)
h = ylabel (...)
zlabel (...)
zlabel (axes_handle,…)
h = zlabel (...)
Cada uno disminuye gráficos que el objeto puede tener una etiqueta para x-, y-, y z- eje.
La etiqueta aparece debajo de su eje respectivo en un diagrama de dos dimensiones y al
lado o debajo del eje en un diagrama tridimensional.
xlabel (fname) evalúa la función fname, que debe volver una secuencia, después exhibe
la secuencia al lado del x- eje.
h = xlabel (...), h = ylabel (...), y vuelta de h = del zlabel (...) la manija al objeto del
texto usado como la etiqueta.
ylabel (...) y etiqueta del zlabel (...) y- eje y z- eje, respectivamente, de las hachas
actuales.
FUNCIÓN TITULO
título (“secuencia”)
título (fname)
título (…, 'PropertyName', PropertyValue,…)
título (axes_handle,…)
h = título (...)
Cada objeto, los gráficos puede tener un título. El título está situado en la tapa y en el
centro del axis.
título (fname) evalúa la función que vuelve una secuencia y exhibe la secuencia en la
tapa y en el centro de las hachas actuales.
h = título (...) vuelve la manija al objeto del texto usado como el título.
Matrices Especiales
genera la matriz
La instrucción round(x) redondea "x" al entero más cercano a "x". Podemos combinar
funciones en MATLAB. Por ejemplo, round(10*rand(4)) genera una matriz con
entradas aleatorias entre 0 y 10.
Aritmética de Matrices
Entonces las operaciones A*B (producto matricial de A con B), A+B (suma de A mas
B), 3*A (multiplicación escalar de 3 por A) tienen los siguientes resultados:
»A*B
ans =
16 19 13
10 11 7
»A+B
»3*A
ans =
12 15
6 9
Note que MATLAB "anuncia" que A+B no se puede calcular. Las operaciones A'
(transpuesto de A), inv(A) (inversa de A), y A^3 (esto es A*A*A) tienen como
resultados:
»A'
ans =
42
53
»inv(A)
ans =
1.5000 -2.5000
-1.0000 2.0000
»A^3
ans =
174 235
94 127
Si precedemos las operaciones matriciales "*", "^" con el punto ".", entonces estas se
hacen termino a termino. Por ejemplo A.*C y A.^2 generan:
» A.*C
ans =
-4 10
4 12
» A.^2
ans =
16 25
4 9
Note el transpuesto en b para hacerlo un vector columna. Vamos a resolver este sistema
por tres métodos:
• eliminación Gaussiana
• forma echelon reducida o método de Gauss-Jordan
• método de la inversa
» flops(0)
» x=A\b
x=
-0.0417
0.4167
0.6250
» flops
ans =
73
» flops(0)
» rref([A b])
ans =
1.0000 0 0 -0.0417
0 1.0000 0 0.4167
0 0 1.0000 0.6250
» flops
ans =
483
» flops(0)
» x=inv(A)*b
x=
-0.0417
0.4167
0.6250
» flops
ans =
108
el cual toma 108 operaciones. Vemos pues que eliminación Gaussiana es el mejor de los
tres métodos lo cual es cierto en general.
Usando MATLAB podemos estudiar la relación entre la solubilidad del sistema Ax=b y
la nosingularidad de la matriz de coeficientes A. En clase vimos que el sistema Ax=b
tiene solución única para cualquier lado derecho b si y solo si la matriz A es nosingular.
¿Qué sucede si A es singular? ¿Entonces Ax=b no tiene solución? Si A es singular el
sistema Ax=b puede tener solución para algunos b's pero de seguro hay al menos un b*
para el cual Ax=b* no tiene solución. Vamos a genera una matriz singular con
MATLAB:
» A=round(10*rand(6));
» A(:,3)=A(:,1:2)*[4 3]'
A=
2 5 23 9 7 3
0 8 24 8 9 6
7 0 28 5 8 8
7 1 31 1 3 10
9 5 51 7 0 4
4 7 37 4 7 2
» b=round(20*(rand(6,1)-0.5))
b=
10
4
5
3
-9
3
Es1 aleatoria con entradas× to genera una matriz 6 enteras entre -10 y 10. Resolvemos
el sistema Ax=b calculando la forma echelon reducida de la matriz de coeficientes
aumentada [A b]:
» rref([A b])
ans =
1040000
0130000
0001000
0000100
0000010
0000001
» c=A*b;
» rref([A c])
ans =
1 0 4 0 0 0 30
0 1 3 0 0 0 19
0001003
0 0 0 0 1 0 -9
0000013
0000000
Funciones de Matrices
MATLAB posee una gran cantidad de funciones matriciales. De las más comunes
tenenmos:
FUNCIÓN GRID
grid encendido
grid apagado
grid
grid (axes_handle,…)
grid la función da vuelta a las líneas del grid y del axis de la corriente por intervalos.
grid apagado quita líneas de rejilla importantes y de menor importancia del axis actual.
grid (axes_handle,…) utiliza las hachas especificadas cerca axes_handle en vez de las
asis actual.
Usted puede fijar las líneas deL grid para apenas un usar del eje sistema comando y la
característica individual. Por ejemplo,
PLOT3
plot3 (X1, Y1, Z1,…), donde X1, Y1, Z1 son los vectores o las matrices, diagramas
unas o más líneas en espacio tridimensional a través de los puntos del las cuales
coordenadas son los elementos X1, Y1, y Z1.
plot3 (X1, Y1, Z1, LineSpec,…) crea y exhibe todas las líneas definidas por Xn, Yn,
Zn, LineSpec cuadrángulos, donde LineSpec es una línea especificación que determina
la línea estilo, el símbolo del marcador, y el color de las líneas trazadas.
h = plot3 (...) vuelve un vector de la columna de manijas a los objetos de los gráficos de
los lineseries, con una manija por objeto.
plotyy
plotyy (X1, Y1, X2, Y2) diagramas X1 contra Y1 con y- eje que etiqueta a la izquierda
y los diagramas X2 contra Y2 con y- eje que etiqueta a la derecha.
plotyy (X1, Y1, X2, Y2, función) utiliza la función que traza especificada para producir
el gráfico.
función puede ser cualquier una manija de la función o el especificar de la secuencia
diagrama, semilogx, semilogy, loglog, vástago, o cualquier función de MATLAB que
acepte el sintaxis
h = función (x, y)
MARCO PRÁCTICO
FUNCION PLOT
>> x = 0:0.1:100;
>> y = 3*x;
>> plot(x,y,'b:'
>> x = linspace(0,2*pi,50);
>> y = sin(x);
>> z = cos(x);
>> plot(x,y,'r', x,z,'gx')
FUNCION EZPLOT
>> ezplot('x^24-y^48')
FUNCION STEP
>> x = linspace(0,2*pi,50);
>> y = sin(x);
>> z = cos(x);
>> w = tan(x);
>> subplot(2,2,1)
>> plot(x,y)
>> subplot(2,2,2)
>> plot(x,z)
>> subplot(2,2,3)
>> plot(x,w)
FUNCION AXIS
>> T=0:0.01:5;
>> Y=EXP(5*T)-1;
>> PLOT(T,Y,'BO')
>>
AXIS([0, 1, 0, 50]
XLABEL, YLABEL, ZLABEL
>> x=-1:0.1:1;
>> y=-1:0.1:1;
>> [X,Y]=meshgrid(x,y);
>> Z=exp(-(X.^2+Y.^2));
>> mesh(X,Y,Z)
>> xlabel('el eje (X.)');
>> ylabel('el eje (Y.)');
>> zlabel('el eje (z.)');
FUNCION TITULO
>> x = linspace(0,2*pi,50);
>> y = sin(x);
>> plot(x,y,'b--')
>> title('onda senoidal')
FUNCION GRID
>> x=-1:0.1:1;
>> y=-1:0.1:1;
>> [X,Y]=meshgrid(x,y);
>> Z=exp(-(X.^2+Y.^2));
>> mesh(X,Y,Z)
FUNCION PLOT3
>> x=-1:0.1:1;
>> y=-1:0.1:1;
>> [X,Y]=meshgrid(x,y);
>> Z=exp(-(X.^2+Y.^2));
>> plot3(X,Y,Z)
FUNCION PLOTYY
>> x = 0:0.01:20;
>> y1 = 200*exp(-0.05*x).*sin(x);
>> y2 = 0.8*exp(-0.5*x).*sin(10*x);
>> [AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
>> set(H1,'LineStyle','-.')
>> set(H2,'LineStyle','-')
CONCLUCIONES
Con el aprendizaje de sintaxis que tiene Matlab ya podemos realizar las distintas
aplicaciones y así tener un mejor aprovechamiento en la materia de PDS
BIBLIOGRAFIA
http://www-gsi.dec.usc.es/~alberto/lsc/matlab/plotbasico.html 25/08/2010
http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/step.html 25/08/2010
el programa de Matlab