Sei sulla pagina 1di 17

UNIVERSIDAD NACIONAL DE SAN

AGUSTIN
FACULTAD DE PRODUCCION Y
SERVICIOS
ESCUELA PROFESIONAL DE
INGERNIERIA ELECTRONICA

TEORA DE CONTROL AUTOMTICO 1


TEMA1: INTRODUCCION AL MATLAB

INDICE:
1. TEMA 1: introduccin al matlab
..1
2. REPETIR Y EJERCITAR LOS SIGUIENTES COMANDOS EN
MATLAB..1
3. Matrices
diagonales
5
4. Operaciones
.6
5. Calculo de races autovalores y autovectores
funciones..9
6. Ejercicios:

12
a) Implemente en Matlab la siguiente funcin, luego
plotee..12
b) Implemente en Matlab la siguiente funcin, luego
plotee13
c) Haga un m. file que ayude a encontrar el minino de

f ( x )=x 32 x5 , dentro del intervalo (0,2)

14
d) Construya una seal escaln unitario de 0 a 50 segundos, con
step inicial en 25 seg. El paso deber ser de 0,5seg. Plotee el
resultado..14

7. Conclusiones
..16
8. Bibliografa
17

TEMA1: INTRODUCCION AL MATLAB


1. REPETIR Y EJERCITAR LOS SIGUIENTES COMANDOS EN
MATLAB
Definicin de una constante:
a= 1
b= [1 2]

Escribiendo nmeros complejos:


a=2+i
b=-5-3*i

Expresin booleana:
A==1

Vector constante:
v=[1 2 3 4 5]

v=1:5

Matriz constante:
A=[2 2 3
0 0 7
5 9 -1]

A=[2 2 3; 0 0 7;5 9 -1]

Podemos usar matrices usando operaciones con objetos definidos anteriormente:


a=1;b=2;

Obsrvese que si colocamos punto y coma al final de la expresin, no es mostrado en la


pantalla, lo que puede ser conveniente en unas situaciones.
A=[a+b pi 3
b^2 0 atan(a)
5 sin(b) -1]

Podemos formar matrices y vectores de zeros:


B=zeros( )

Matriz de ceros con 2 filas y 3 columnas:


B=zeros(2,3)

Matriz de zeros con las dimensiones de la matriz A:


A=[2 2 3;0 0 7;5 9 -1];

B=zeros(size(A))

De modo semejante, podemos formar matrices y vectores de unos:


Matrices de unos con 2 filas y 3 columnas:
C=ones(2,3)

MATRICES DIAGONALES:
Matriz diagonal con los elementos de diagonal principal yendo de 1 a 5:
D=diag(1:5)

Extrayendo los elementos de la diagonal principal:


A=[1 2 3
4 5 6
7 8 9]
B=diag(A)

Formando una matriz diagonal con los elementos de la diagonal principal de una matriz:
C=diag(diag(A))

OPERACIONES:
5

Matriz identidad:
A=diag(ones(1,3))

A=eye(3)

Suma de matrices (recuerde las matrices deben tener la misma dimensin):


B=A+A

Sumar 1 a todos los elementos de una matriz:


C=B+1

Multiplicacin de matrices:
A=[1 2 3;4 5 6;7 8 9]
C=[1 2 0;0 0 1;0 2 3]
D=A.*B

Multiplicacin elemento a elemento:


A=[1 0 0;0 2 3;5 0 4]
B=[2 0 0;0 2 2;0 0 3]
C=A.*B

Extraccin de la fila 2:
a=C(2,:)

Extraccin de columna 3:
b=C(:,3)

Traza de una matriz:


A=[1 2 3;4 5 6;7 8 9]
t=trace(A)

t=

15

Rank (rango) de una matriz:


r=rank(A)

Matriz transpuesta:
B=A

Inversa de una matriz:


A=[0 1;-2 -3]
B=inv(A)
A*B

Determinante de una matriz:


d=det(A)

POLINOMIOS:
Polinomio p1 con races en 0 e -1:
v=[0 -1]
p1=poly(v)

Polinomio p2 con coeficientes 1 e 2 e 1:


P2=poly([1 2 1])

CLCULO DE RACES:
P=roots(p1)

AUTOVALORES y AUTOVECTORES:
Autovalores:
A=[0 1;-2 -3]
r=eig(A) %r vector de autovalores

[V,D]=eig(A)
% produce una matriz diagonal D de autovalores
% y una matriz completa V cuyas columnas son
% sus correspondientes autovectores. As (A*V=V*D)

FUNCIONES:
function[y]=mifuncion(x) %definimos un archivo mifuncion.m
if x<0
%donde estar nuestra 'y=f(x)'
y=x^2
else
y=sin(x*(pi/180))
end

Una vez definida la funcin podemos evaluarla en el punto x=30


(grados)
>> y=mifuncion(30)
y =
0.5000

Otra funcin (mifuncin2): la funcin

y=x + x 2+ sin(( 2pi)x )

en

Matlab.
function[y]=mifuncion(x)
x=input('ingrese su vector x=')
y=x+x.^(2)+sin((2*pi)*x)
figure(1)
% abre nueva ventana de grfico
plot(x,y,'r')
% la curva es de color rojo
figure(2)
% abre nueva ventana de grfico
plot(x,y,'b:') % la curva es de color azul y entrepunteada
end

Cree un vector variando de -2 a 3 con paso de 0.5


Calculando la funcin:
y=mifuncion2(x)
ingrese su vector x=-2:0.5:3
x =
Columns 1 through 8
-2.0000
1.5000

-1.5000

-1.0000

-0.5000

0.5000

1.0000

-0.2500

0.7500

2.0000

Columns 9 through 11
2.0000

2.5000

3.0000

y =
Columns 1 through 8
2.0000
3.7500

0.7500

0.0000

Columns 9 through 11
6.0000

8.7500

12.0000

Ploteando el resultado:
Creando nuevas ventanas grficas (figure(1), figure(2),,figure(n)):
figure(1)
plot(x,y,`r)

% abre nueva ventana de grfico


% la curva es de color azul (se muestra en la figura 1)

Figura 1
figure(2)
plot(x,y,b:`)

% abre nueva ventana de grfico


% la curva entrepunteada(se muestra en la figura 2)

Figura 2

2. EJERCICIOS

a) Implemente en Matlab la siguiente funcin, luego plotee

y=f ( x ) =

1
x 1
2

Implementando la funcin en exm1.m


function y =exm1(x)
if x==1
y = 'indeterminado';
elseif x==-1
y = 'indeterminado';
else
y = 1./((x.^2)-1);
end

Definiendo el vector x

: x=-10:0.1:10

Definiendo y

: y=exm1(x)

Graficando

: plot(x,y)

Figura 3
-

la figura 3 nos muestra las asntotas de la funcin y =exm1(x)

b) Implemente en Matlab la siguiente funcin, luego plotee

y=f ( x 1 , x 2)=

x 1 + x 2 if x 1> 0 , x 2 >0
x + x22 en los demas casos
2
1

Implementando la funcin en exm2.m


function y =exm2(x1,x2)
if x1>0
if x2>0
y = x1 + x2;
end
else
y = sqrt((x1.^2)+(x2.^2));
end

Figura 4
-

La figura 4 nos muestra como podemos obtener esta funcin mediante


matrices en exm2_1.m :

c) Haga un m. file que ayude a encontrar el minino de

f ( x )=x 32 x5 , dentro del intervalo (0,2)


La funcin esta implementada en exm3.m:
function y =exm3(x)
y=(x.^3) -(2*x) - (5);

Para hallar el minimo se usa el archivo exm3_1.m


paso=input('ingrese paso')
x=[0:paso:2];
y=exm3(x)
minimo=min(y)

d) Construya una seal escaln unitario de 0 a 50 segundos, con


step inicial en 25 seg. El paso deber ser de 0,5seg. Plotee el
resultado.
La funcin implementada esta en exm4.m:
t0 = [0:0.5:25];
u0 = zeros(size(t0));
t1 = [25:0.5:50];
u1 = ones(size(t1));
t = [t0 t1];
u = [u0 u1];
plot(t,u)

La grafica es:

Figura 5

La figura 5 nos muestra una seal escalon unitario de 0 a 50 segundos


con step inicial de 25 segundos
e) Construya una seal peine de dirac, plotee el resultado.

La funcin esta en exm5.m :


r=-5:1:5;
p=zeros(size(r));
p(r>=-30)=1;
stem(r,p);
axis([-5 5 -1 2]);

-La grafica es :

Figura 6
-

La figura 5 nos muestra una seal peine de dirac a traves de la function


en exm5.m

3. CONCLUSIONES
Se ha aprendido a utilizar los comandos bsicos de Matlab.
Matlab es un programa que nos ayuda a hacer, calcular y graficar
funciones en 2d o 3d, adems de hacer funciones especiales como el
impulso unitario y funcin delta de dirac.
Matlab tiene una forma fcil de almacenar archivos, archivos.m

4. BIBLIOGRAFIA:
- Brogan W.L, 1991. Modern control theory". Prentice Hall, 1991.
Ogata, K., 1998. Tercera edicin. "Ingeniera de control
moderna". Prentice-Hall.

Potrebbero piacerti anche