Mathematics">
Nothing Special   »   [go: up one dir, main page]

Lab 01 TCA1 - IntroMatlab

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

UNIVERSIDAD NACIONAL DE SAN AGUSTIN

FACULTAD DE INGENIERIA DE PRODUCCION Y SERVICIOS

ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

CURSO:
LABORATORIO DE TEORIA DE CONTROL AUTOMATICO I

TURNO:
G5 Viernes 7 am A 8:40 am

TEMA: INTRODUCCION AL MATLAB

LABORATORIO 1

- Choquehuanca Pacori Christian 20132297


1. Repetir y ejecutar los siguientes comandos en Matlab.

Definición de una constante:

a=1
b= [1 2]

Escribiendo números complejos:

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

Por ejemplo, si se quiere representar el número 1+ √2j se procede de la siguiente


manera:

x= 1+sqrt(2)*i

x= 1+sqrt(2)*j
x = 1.0000 + 1.4142i

0
Si i y j se utilizan como variables, habría que renombrar la variable compleja como
ii=sqrt(-1) ó jj=sqrt(-1) y entonces el número 2+3*j se debería introducir como:
jj=sqrt(-1)
x=2+3*jj
jj = 0 + 1.0000i
x = 2.0000 + 3.0000i

Módulo y la fase de un número complejo


z = x + yj = r* ��𝑗��, se procede del siguiente modo:
r= abs(z)
theta= angle(z)

1
donde la sentencia z=r*exp(j*teta) vuelve a obtener el número complejo en su forma
normal.

z=3+i*2

r=abs(z)
r =3.6056
theta=angle(z)

Expresión booleana:
A==1

Vector constante:

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

2
Matriz constante:

A= [2 2 3
0 0 7
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)

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)

4
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:

Matriz identidad:

A= diag (ones (1,3))


ó
A= eye(3)

5
Suma de matrices (recuerde las matrices deben tener la misma dimensión):

B=A+A

Sumar 1 a todos los elementos de una matriz:

C=B+1

Multiplicación de matrices:

A= [1 2 3;4 5 6;7 8 9]
C= [1 2 0;0 0 1;0 2 3]
D=A.*C

Multiplicación 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

6
% la multiplicación de matrices se realiza con el producto punto.
Extracción de la fila 2:

a=C(2,:)

Extracción de columna 3:

b=C(:,3)

Traza de una matriz:

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


t=trace(A)

Rank (rango) de una matriz:

r=rank(A)

7
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 raíces en 0 e -1:

v=[0 -1]

8
p1= poly(v)

Polinomio p2 con coeficientes 1 e 2 e 1:

P2= poly([1 2 1])

Cálculo de raíces:

P= roots(p1)

Para dibujar una gráfica a partir de dos vectores x e y de la misma longitud se procede de la
siguiente manera:

%plot(x,y) dibuja los valores de y frente a los valores de x.


x=[1 2 3 4 5 6 7]
y=[2 4 9 16 25 36 49]
plot(x,y)

9
Representación de varias sub-figuras en una única figura. Para ello, se emplea el comando
subplot(m,n,p) donde el primer parámetro corresponde al número de filas, el segundo
parámetro al número de columnas y el tercer parámetro a la posición relativa en la matriz de
sub-figuras.
Representación tres señales en una misma fila, se ejecutarían las siguientes líneas de comandos:

x=[1 2 3 4 5 6 ]
y=[2 4 9 16 25 36 ]
z=[3 6 9 12 15 18]

subplot(1,3,1)
plot(x,y) %proponer una señal 1
subplot(1,3,2)
plot(x,z) %proponer una señal 2
subplot(1,3,3)
plot(y,z) %proponer una señal 3

Dibujar la gráfica de la función sin(x) en el intervalo 0 ≤ x ≤ 10 con un paso de 0.05.


x=0:0.05:10;
y=sin(x);
plot(x,y);
grid;
title('Gráfica del seno');
xlabel('Segundos');
ylabel('Seno(x)');
text(3,0.45,'sen(x)');

10
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 mifuncion.m


if x<0 %donde estará nuestra 'y=f(x)'
y=x^2
else
y=sin(x*(pi/180))
end

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

- Otra función (mifunción2): la función � = � + �𝟐 + 𝒔𝒊𝒏((𝟐 ∗ 𝒑��) ∗ �) 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 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 entre punteada
end

12
Transformada De Laplace De Una Función
Sea, f (t)= sen(t)-2��−2��, en primer lugar, se necesita declarar una variable de tipo
simbólica con el uso de la instrucción syms y después se ejecuta el comando de la transformada
que se desea
calcular pasando como parámetro la función de la cual se quiere calcular su transformada. Por
ejemplo, para este caso:

syms t
TL= laplace(sin(t)-2*exp(-2*t)) %El resultado que se obtiene es:

Transformada inversa de Laplace


se obtiene la función f(t) de partida:

syms s
f=ilaplace(1/(s^2+1)-2/(s+2))

13
VI.-Ejercicios:
6.1.- Implemente en matlab la siguiente función, luego plotee:

1
� = �(�) =
�2 −1

Solución

>> x=input('Ingrese vector x=');


Ingrese vector x=-5:0.1:5;
>> y=((x.^2)-1).^-1;
>> plot(x,y), xlabel('x'), ylabel('y'), title('Funcion y=f(x)')

Otra forma:

>> x=-5:0.1:5; % se define los parámetros de la función


>> y=((x.^2)-1).^-1; % definimos la función
>> plot(x,y), xlabel('x'), ylabel('y'), title('Funcion y=f(x)')

14
6.2.- Implemente en matlab la siguiente función, luego plotee:

�1 + �2 𝑖� �1 > 0, �2 > 0
� = �(�1 , �2 ) = {
√�1 + �
2
2 �� ��𝑠 ���á𝑠 �𝑎𝑠�𝑠
2

Solución

[x1,x2]=meshgrid(-3:0.1:3,-3:0.1:3); %"meshgrid". Esta función coloca líneas de cuadrícula definidas


por el usuario en gráficos bidimensionales y tridimensionales.
if x1>0, x2>0 %
y=x1+x2; else
y=((x1.^2)+(x2.^2)).^0.5;
end
figure(1);
plot3(x1,x2,y),title('Grafico 1');
figure(2);
surf(x1,x2,y),title('Grafico 2');
figure(3);
mesh(x1,x2,y),title('Grafico 3');
grid on

Otra forma:

>> x1=input('Ingrese vector x1=');


Ingrese vector x1=-3:0.1:3;
>> x2=input('Ingrese vector x2=');
Ingrese vector x2=-3:0.1:3;
>> x1=input('Ingrese vector x1=');
Ingrese vector x1=-3:0.1:3;
>> x2=input('Ingrese vector x2=');
Ingrese vector x2=-3:0.1:3;
>> [x1,x2]=meshgrid(x1,x2);
>> if x1>0, x2>0
y=x1+x2;
else
y=((x1.^2)+(x2.^2)).^0.5;
end
>> figure(1);
>> plot3(x1,x2,y),title('Grafico 1'); %GRAFICO 4
>> figure(2);
>> surf(x1,x2,y),title('Grafico 2'); %GRAFICO 5
>> figure(3);
>> mesh(x1,x2,y),title('Grafico 3'); %GRAFICO 6
>> grid on

15
16
6.3.- Haga un .m file que ayude a encontrar el mínimo de f(x) = x^3-2x^2- 5, dentro del intervalo (0,2)

Solución:

x1=input('Define de cuanto en cuanto ira el intervalo (0,2): ');


x=0:x1:2;
y=x.^3-2*x-5; %definimos la función
minimo=min(y)

Define de cuanto en cuanto ira el intervalo (0,2): 5

minimo =

-5

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

t=0:0.5:50;
>> T=25; % nos valemos del comando stepfun para crear una funcion escalón
unitario

17
>> x=stepfun(t,T);
>> plot(t,x); title('Escalon Unitario');
>> axis([0 50 0 2]), xlabel('Tiempo(t)'), ylabel('u(t-2)') %nombramos los ejes y el título de la gráfica

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

Solución

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

18
6.6.- Realizar un script de Matlab llamado senoidal.m que represente una señal
senoidal en función de los siguientes parámetros de entrada: tiempo (T), frecuencia
(F), amplitud (A) y fase (Ø). Los parámetros de entrada deberán especificarse al
principio del script. Este es el resultado que debe mostrar la ejecución del script:

//senoidal.m

Tiempo = 0.5; % tiempo (T)


Puntos = 500; % número de puntos
dt = 1/Puntos; % tiempo a cada punto

% variables de la funcion seno


Amplitud = 10; % (A)Amplitud
Frecuencia = 10; % (F) frecuencia ciclos por segundo
Fase = 1.5; % fase (Ø) partes de pi

% Señal senoidal
t = (0:dt:Tiempo-dt)'; % Eje X
y = Amplitud* sin(2*pi*Frecuencia*t + Fase); % Eje Y

figure(1);
plot(t,y); % Grafica x contra y
xlabel ('Tiempo (en segundos)');
ylabel ('Amplitud');
title ('Señal Senoidal');
grid on;

6.7.- Realizar un script de Matlab senyales.m que represente una señal senoidal y
una señal cosenoidal en una misma figura. Los parámetros de ambas señales se
definirán al principio del script: tiempo (T), frecuencia (F), amplitud (A) y fase (Ø).
El aspecto de la ejecución debe ser el siguiente:

19
//senyales.m
Tiempo = 0.5; % (T) tiempo
Puntos = 500; % número de puntos
dt = 1/Puntos; % tiempo a cada punto

% variables de la funcion seno


Amplitud = 10; %(A) Amplitud
Frecuencia = 10; % (F)frecuencia
Fase = 1.5; % fase (Ø)

% Señal senoidal
t = (0:dt:Tiempo-dt)'; % Eje X
y = Amplitud* sin(2*pi*Frecuencia*t + Fase); % Eje Y

% Señal cosenoidal
t2= (0:dt:Tiempo-dt)'; % Eje X
y2= Amplitud* cos(2*pi*Frecuencia*t + Fase); % Eje Y

subplot(2,1,1),plot(t,y),xlabel ('Tiempo (en segundos)'),ylabel


('Amplitud'), title("Señal Senoidal");
grid on;

subplot(2,1,2),plot(t2,y2),xlabel ('Tiempo (en segundos)'),ylabel


('Amplitud'), title("Señal Cosenoidal");
grid on;

20
6.8.- Determinar las transformadas de Laplace de estas funciones de t.

syms t
TL1= laplace(2+3*t+4*t^2)

TL2= laplace(2-2*(exp(4*t))+3*b*(exp(4*t)))

TL3= laplace(4*sin(2*t)+5*cos(2*t))

t=heaviside(t-2)
TL4 = laplace(2*t)

Transformadas:

Ayuda: para la función escalón utilizar el comando heaviside(t-a) donde a es el retraso

21
VII.- CUESTIONARIO:

7.1.1.- ¿Qué es el simulink de Matlab?

SIMULINK es un paquete de software para modelar, simular y analizar sistemas


dinámicos. Soporta sistemas lineales y no lineales, modelados en tiempo continuo,
muestreados o un híbrido de los dos.
Para modelar, SIMULINK proporciona una interfaz de usuario gráfica (GUI) para
construir los modelos como diagramas de bloques, utilizando operaciones con el ratón
del tipo pulsar y arrastrar. Con esta interfaz, puede dibujar los modelos de la misma forma
que lo haría con lápiz y papel.

7.1.2.- ¿Qué son autovectores y autovalores?

Los Autovalores también son conocidos como valores propios, valores característicos o
eigenvalores. Análogamente los Autovectores también se conocen con los nombres de
vectores propios, vectores característicos y eigenvectores.
Sea A una matriz cuadrada de orden m. Diremos que un escalar λ ∈ C es un autovalor de
A si existe un vector v ∈ C m, v 6= 0 tal que Av = λv, en cuyo caso se dice que v es un
autovector de A asociado al autovalor λ. Obviamente, si tenemos un autovector v de A
asociado a un autovalor λ, cualquier multiplo no nulo de v tambien es un autovector de A
asociado al mismo autovalor λ. Por otra parte, si tenemos dos autovectores v1 y v2
asociados a un mismo autovalor λ, cualquier combinaci´on lineal no nula de dichos
autovectores también es un autovector de A asociado al mismo autovalor λ.

VIII.- OBSERVACIONES Y CONCLUSIONES:

Se realizó la práctica de cómo utilizar los comandos básicos de Matlab como las matrices,
suma, multiplicación, expresiones booleanas, selección de filas determinadas etc.
Matlab es una herramienta muy útil, representando funciones gráficamente, de una forma
algo sencilla, pero debido a que en la red se encentran varios tutoriales e información
extra, estas graficas se pueden desarrollar con normalidad.

El programa Matlab nos facilita, calcular y graficar funciones en 2d o 3d, además de


permitirnos realizar funciones como el impulso unitario y función delta de Dirac.
Matlab nos permite almacenar archivos, del tipo **archivos.m. Los cuales pueden ser
ejecutados en otro equipo de ser requerido, lo cual ayuda mucho al ser portable
fácilmente.

22

También podría gustarte