fundamentos de control realimentadolcr.uns.edu.ar/fcr/images/matlab.pdf · la manera más sencilla...

Post on 03-Oct-2020

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

F i i bá iFunciones y operaciones básicaspara

Fundamentos de Control Realimentado

Consola de trabajo

Directorio y espacio de trabajo

Historia deHistoria de comandos

Vector fila:

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

Resultado en la consola: A =

1 2 3 4 5 6 7

V lVector columna:A=[1;2;3;4;5;6;7];A =

123445677

Matrices:Matrices:

A [1 2 3 4 5 6 7 8 9 10 11 12]A=[1 2 3 4;5 6 7 8;9 10 11 12];

Resultado:A =

1 2 3 45 6 7 89 10 11 12

Suma y resta: A + BSuma y resta: A + BMultiplicación: A*B A.*B multiplica elemento a elemento

D i : d t(A)Determinante: det(A)Inversión: inv(A)Dimensión: size(A) devuelve [filas columnas]

Traspuesta: A’Asignación:B(3,2)=4; % se asigna elemento (3,2) de BA(1,:)=[1 2 3 4]; % se asigna la primera fila de AA(:,2)=[1;2;3;4]; % se asigna la segunda columna de A

El comando más simple es plot(x,y), utiliza dos vectores, x e y, de la misma longitud. ecto es, e y, de a s a o g tud

Plot(X,Y,´propiedades´) Propiedades:

b blue . point - solidpg green o circle : dottedr red x x-mark -. dashdotc cyan + plus -- dashedm magenta * star (none) no liney yellow s squarek black d diamond

v triangle (down)v triangle (down)^ triangle (up)< triangle (left)> triangle (right)> triangle (right)p pentagramh hexagram

title (‘titulo del grafico’);title ( titulo del grafico );

xlabel (‘nombre del eje x’);

ylabel (‘nombre del eje y');

Grid on; Activa la grilla en la ventana del gráficoHold on; Activa la opción de múltiples gráficas.Hold off; Desctiva la opción de múltiples gráficasHold off; Desctiva la opción de múltiples gráficas.Figure(1); Designa una ventana para las gráficas.

X=0:.1:2; %asigna el vector X = valor_inicial : incremento :valor_final

Y1=exp(X); %aplica función exponencial a cada elemento de X

Y2=X.^2; % el punto delante de la operación indica que se realiza a cada elementop p q

figure(1);plot(X,Y1)title('Funcion Exponencial & Funcion Cuadratica’)xlabel('eje X')ylabel('eje Y')hold onplot(X,Y2,'+r')hold off

figure(2);% otra forma de combinar gráficos con un solo plotplot(X,Y1, X,Y2)

Función “tf” :A la función “tf” se le deben ingresar como parámetros los coeficientes de los polinomios denominador y denominador (en orden decreciente de p y (potencias)

F=tf([1 3],[1 3 5 6])

Transfer function:s + 3

---------------------s^3 + 3 s^2 + 5 s + 6

Función “zpk”Otra forma de generar funciones transferencia es ingresando los ceros, los polos, y la ganancia

G=zpk([-1],[-10, -5],20)

Zero/pole/gain:20 (s+1)20 (s+1)

------------(s+10) (s+5)

Bloques en cascada (producto): G*FZero/pole/gain:20 (s+1) (s+3)

--------------------------------(s+10) (s+5) (s+2) (s^2 + s + 3)

Bloques en paralelo (suma): G+FZero/pole/gain:

20 (s^2 + 3 627s + 3 424) (s^2 + 0 4227s + 3 943)20 (s^2 + 3.627s + 3.424) (s^2 + 0.4227s + 3.943)-------------------------------------------------

(s+10) (s+5) (s+2) (s^2 + s + 3)

/Bloques realimentados : G/(1+G*F)Zero/pole/gain:

20 (s+1) (s+2) (s+5) (s+10) (s^2 + s + 3)----------------------------------------------------------(s+10) (s+10.31) (s+5) (s+4.583) (s+1.834) (s^2 + 1.272s + 4.154)

Salida Gráfica:step(F)step(F)

step(F,TFINAL)step(F,T)

Salida en Vectores:[Y T] step(F)[Y,T] = step(F)

bode(F)bode(F,W)

[MAG,PHASE] =bode(F,W)[MAG,PHASE,W]=bode(F)margin(F)

rlocus(F)rlocus(F)

impulse(F);impulse(F);

La manera más sencilla de guardar y recuperar datos en Matlabg y pes usar los comandos save y load

save misdatossave misdatos x ysave ('misdatos')

Esta instrucción guarda todas las variables ( o las indicadas: x y)Esta instrucción guarda todas las variables ( o las indicadas: x y) en un archivo llamado misdatos.mat en el current directory

Para guardar los datos en formato ASCIIPara guardar los datos en formato ASCII save misdatos.dat x y –ascii

Nota: de esta manera no se guardan los nombres de las variables, l lsolo sus valores

Load Recupera las variables guardadas en un fichero matLoad Recupera las variables guardadas en un fichero .matload misdatos

load(‘misdatos')

Para cargar un fichero ASCII (ej. datos.dat , datos.txt)load datos.dat

xy = load(‘datos dat');xy = load( datos.dat );

En el primero crea la variable datos donde se almacenan todos los datos y en el segundo en la variable xy.y g y

Nota: para poder cargar un fichero de datos ASCII este tiene que tener forma "matricial", es decir, las variables almacenadas tienen que t l i ú d l l fi h d d ttener el mismo número de columnas para que el fichero de datos pueda ser leído como una sola matriz.

top related