Está en la página 1de 11

Universidad Nacional de San Agustín

Facultad de Ingeniería de Producción y Servicios

Escuela Profesional de Ingeniería electrónica

Departamento Académico de Ingeniería Electrónica

Laboratorio de Instrumentación y Control

CURSO: TEORIA DE CONTROL AUTOMATICO

CAPITULO 1: Introducción al Matlab

NOMBRE: Christopher Jorge Ramos Peñaloza

CUI: 20062102

Arequipa Diciembre 2008


CAPITULO 1
INTRODUCCIÓN AL MATLAB

1. Repetir y ejercitar los siguientes comandos en Matlab.

Definición de una constante:


Expresión boleana:
a=1
b=[1 2] A==1

Vector constante:

v=[1 2 3 4 5]
O
v=1:5

Escribiendo números complejos:

a=2+i
b=-5-3*i Matriz constante:

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

Podemos usar matrices usando operaciones con objetos definidos anteriormente:


a=1;b=2;

Obsérvese que si colocamos punto y coma al final de la expresión, 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
456
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:
Matriz identidad: Multiplicación elemento a elemento:

A=diag(ones(1,3)) A=[1 0 0;0 2 3;5 0 4]


ó B=[2 0 0;0 2 2;0 0 3]
A=eye(3) C=A.*B

Suma de matrices (recuerde las matrices


Extracción de la fila 2:
deben tener la misma dimensión):
a=C(2,:)
B=A+A

Extracción de columna 3:
Sumar 1 a todos los elementos de una
matriz: b=C(:,3)

C=B+1

Traza de una matriz:

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


Multiplicación de matrices: t=trace(A)

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


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

Rank (rango) de una matriz:

r=rank(A)

Matriz transpuesta: B=A’


Polinomios:

Polinomio p1 con raíces en 0 e -1:

v=[0 -1]
Inversa de una matriz: p1=poly(v)

A=[0 1;-2 -3]


B=inv(A)
A*B

Polinomio p2 con coeficientes 1 e 2 e 1:

P2=poly([1 2 1])

Cálculo de raíces:

P=roots(p1)
Determinante de una matriz:

d=det(A)

Autovalores e 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 mifunción.m
if x<0 % donde estará nuestra `y=f(x)´
y=x^2
else
y=sin(x*(pi/180))
end

Una vez definida la función podemos evaluarla en el punto x=30 (grados)

y=mifunción(30)

function[y]=mifuncion %defino una función con el nombre mifuncion.m


x=input('introduce un valor para la variable x= ');
%salvo que ahora aplico un ingreso de variable para luego usar el if
if x<0
y=x^2;
else
y=sin(x*(pi/180));
end

Respuesta

Otra función (mifunción2): la función y=x+x^2+sin((2*pi)*x) en Matlab.

function y=mifuncion2
x=input('ingresa el valor de la variable x= ')
y=x+x.^(2)+sin((2*pi)*x);
plot(x,y), grid, title('gráfica y=f(x)');

Plotear la función entre -2 y 3:


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

x=-2:0.5:3;

Calculando la función:

y=mifunción2(x)
Ploteando el resultado:

plot(x,y)
Creando nuevas ventanas gráficas (figure(1), figure(2),…,figure(n)):

figure(1) % abre nueva ventana de gráfico


plot(x,y,`r´) % la curva es de color rojo
figure(2) % abre nueva ventana de gráfico
plot(x,y,´b:`) % la curva es de color azul y entrepunteada

grafica de y=f(x)
12

10

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3

2. Ejercicios:

Implemente en Matlab la siguiente funcion, luego plotee


function y=funcion1
x=input('Ingresa los valores para x');
y=(x.^2-1).^(-1);
plot(y,x),grid,title('función y=f(x)');

funcion y=f(x)
4

-1

-2
-1.5 -1 -0.5 0 0.5 1

Haga un .m file que ayude a encontrar el minimo de f(x) = x-2x-5, dentro del intervalo
(0,2)
function funcion3
x1=input('Define de cuanto en cuanto ira el intervalo (0,2): ');
x=0:x1:2;
y=x.^3-2*x-5;
minimo=min(y)

Construya una señal escalón unitario, de 0 a 50 segundos, con step inicial en 25s. El
paso deberá ser de 0.5s. Plotee el resultado.

>> t=0:0.5:50;
T=25;
x=stepfun(t,T);
plot(t,x);
xlabel('t');ylabel('x(t)');axis([0 50 0 1.5]);

Construya una señal peine de dirac. Plotee el resultado

>> dirac=ones(1,7)
>> n=-3:1:3

>> stem(n,dirac)

También podría gustarte