laboratorio de matlab n°1
DESCRIPTION
INICIANDO EN MATLABTRANSCRIPT
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
LABORATORIO DE PROSESAMIENTO DIGITAL DE SEÑALES N° 1 INTRODUCCION AL MATLAB
UNIVERSIDAD NACIONAL DEL ALTIPLANO
PABEL ADERLY CHACON ROSELLO
1.- oparaciones con matrices.
1.1 crear una matriz de número reales 2*4:
� = �0 2 40 3 567�
• Guardar la variable M en el archivo matriz.mat:
save('matriz.mat')
• Limpiar el espacio de trabajo:
clc
• Volver a cargar el archivo:
• Comprobar que el archivo este en la memoria:
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
• Crear unas nuevas matrices: que contenga la segunda fila:
• Crear una nueva matriz que contenga la cuarta columna:
• Crear una sub matriz formada por las dos primeras filas y las 2 ultimas columnas:
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
1.2. Definir las siguientes matrices en matlab:
= �1 32 6 5 85 34 11 8 9 70 2� � = � 1 912 5 5 85 94 20 6 9 740 3 � � = � 1 910 2� SOLUCION
a= [1 3 5 8;2 6 5 3;4 1 9 7;1 8 0 2]
b= [1 9 5 8;12 5 5 9;4 2 9 74;0 6 0 3]
c= [1 9;10 2]
>> a=[1 3 5 8;2 6 5 3;4 1 9 7;1 8 0 2]
a =
1 3 5 8
2 6 5 3
4 1 9 7
1 8 0 2
>> b=[1 9 5 8;12 5 5 9;4 2 9 74;0 6 0 3]
b =
1 9 5 8
12 5 5 9
4 2 9 74
0 6 0 3
>> c=[1 9;10 2]
c =
1 9
10 2
Realizar los siguientes cálculos con las matrices:
3-A
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
>> 3-a
ans =
2 0 -2 -5
1 -3 -2 0
-1 2 -6 -4
2 -5 3 1
A-7
>> a-7
ans =
-6 -4 -2 1
-5 -1 -2 -4
-3 -6 2 0
-6 1 -7 -5
A-B^
>> a-b'
ans =
0 -9 1 8
-7 1 3 -3
-1 -4 0 7
-7 -1 -74 -1
��: >> inv(a)
ans =
-0.3411 -0.5305 0.4842 0.4653
0.0084 0.1242 -0.0737 0.0379
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
0.0442 0.4021 -0.1368 -0.3011
0.1368 -0.2316 0.0526 0.1158
���:
>> inv(c)
ans =
-0.0227 0.1023
0.1136 -0.0114
Realizar los siguientes cálculos siendo
D la submatriz de la A formada por la 1ra y la 3ra fila de la 2da y3ra columna:
>> d=[a(1,2) a(1,3);a(3,2) a(3,3)]
d =
3 5
1 9
E la sub matriz de b formada por la 2da y la 4ta fila y columnas:
e=[b(2,2) b(2,4);b(4,2) b(4,4)]
e =
5 9
6 3
D-E:
>> d-e'
ans =
-2 -1
-8 6
D-C:
>> d-c
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
ans =
2 -4
-9 7
C-E:
>> c-e
ans =
-4 0
4 -1
Resolver la siguiente matriz y explicar su contenido:
>> z=[size(a); size(b); size(c); size(d)]
z =
4 4
4 4
2 2
2 2
Te da el orden de la matriz.
Resolver las siguientes ecuaciones:
1) A*X=B
SOLUCION
A*X=B �X=inv(A)*B
>> inv(a)*b
ans =
-4.7705 -1.9621 -0.0000 29.7242
1.2042 0.7768 0 -4.1537
4.3221 0.3284 1.0000 -7.0568
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
-2.4316 0.8737 0.0000 3.2526
2) D*X=C
D*X=C�X=inv(D)*C
>> inv(d)*c
ans =
-1.8636 3.2273
1.3182 -0.1364
Siendo g la sub matriz de a formada por las filas 2,3 y 4:
G la sub matriz formada de b formada por las columnas 1,2 y 4 calcular f-g
>> f=a([2 3 4],:)
f =
2 6 5 3
4 1 9 7
1 8 0 2
>> g=b(:,[1 2 4])
g =
1 9 8
12 5 9
4 2 74
0 6 3
>> f-g
??? Error using ==> minus
Matrix dimensions must agree.
>>
Ejecutar cada uno de los comandos y explicar el resultado de ellos.
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
>> y=eye(4)
y =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>> y=zeros(3)
y =
0 0 0
0 0 0
0 0 0
>> y=zeros(3,5)
y =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
>> y=ones(2,3)
y =
1 1 1
1 1 1
>> y=diag([4 5 6 7])
y =
4 0 0 0
0 5 0 0
0 0 6 0
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
0 0 0 7
>> y=diag([4 5 6 7],-1)
y =
0 0 0 0 0
4 0 0 0 0
0 5 0 0 0
0 0 6 0 0
0 0 0 7 0
>> y=diag([4 5 6 7],2)
y =
0 0 4 0 0 0
0 0 0 5 0 0
0 0 0 0 6 0
0 0 0 0 0 7
0 0 0 0 0 0
0 0 0 0 0 0
>> y=diag(c)
y =
1
2
>> y=diag(diag(c))
y =
1 0
0 2
1.2 repetir el apartado 1.1 con la siguiente matriz de números compejos:
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
� = � � 1 + �−� 4 + 2�−� 53 9 − 3��
>> n=[i 1+i -i 5;-i 4+2i 3 9-3i]
n =
0 + 1.0000i 1.0000 + 1.0000i 0 - 1.0000i 5.0000
0 - 1.0000i 4.0000 + 2.0000i 3.0000 9.0000 - 3.0000i
Crear unas nuevas matrices que contengan la segunda fila:
>> n(2,:)
ans =
0 - 1.0000i 4.0000 + 2.0000i 3.0000 9.0000 - 3.0000i
Crear unas nuevas matrices que contengan la cuarta columna:
>> n(:,4)
ans =
5.0000
9.0000 - 3.0000i
Crear unas nuevas matrices que contenga las primeras dos filas y las 2 últimas columnas.
>> n(1:2,3:4)
ans =
0 - 1.0000i 5.0000
3.0000 9.0000 - 3.0000i
Guarde la variable n en un archivo matriz.mat
>> load('E:\mat2\matriz.mat')
Limpiar el espacio de trabajo:
Volver a cargar el archivo:
>> load('E:\mat2\matriz.mat')
Obtener la matriz conjugada de n:
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
>> conj(n)
ans =
0 - 1.0000i 1.0000 - 1.0000i 0 + 1.0000i 5.0000
0 + 1.0000i 4.0000 - 2.0000i 3.0000 9.0000 + 3.0000i
Su representación de magnitud y angulo.
Magnitud.
>> norm(n)
ans =
11.9807
Angulo.
>> angle(n)
ans =
1.5708 0.7854 -1.5708 0
-1.5708 0.4636 0 -0.3218
Y sus componentes reales:
>> real(n)
ans =
0 1 0 5
0 4 3 9
Imaginarias:
>> imag(n)
ans =
1 1 -1 0
-1 2 0 -3
Obtener utilizando la función linspace, un vector de 20 elementos que recorra el intervalo [0,∏].
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
>> b=[1 9 5 8;12 5 5 9;4 2 9 74;0 6 0 3]
b =
1 9 5 8
12 5 5 9
4 2 9 74
0 6 0 3
>> x=linspace(0,pi,20)
x =
Columns 1 through 12
0 0.1653 0.3307 0.4960 0.6614 0.8267 0.9921 1.1574 1.3228 1.4881 1.6535
1.8188
Columns 13 through 20
1.9842 2.1495 2.3149 2.4802 2.6456 2.8109 2.9762 3.1416
Generar utilizando la sentencia valor inicial: paso: valor final, un vector de referencia de 1000
puntos que recorra el intervalo [0,10].
2 archivos M y funciones.
2.1utilice el editor de matlab, o un editor externo de texto, para crear un archivo llamado
dsplab.m que contenga las siguientes líneas.
tt=2:0.05:3; xx=sin(2*pi*0.789*tt); plot(tt,xx),grid on %dibujo de una sinusoide title('grafica de una sinusoide') xlabel('tiempo(seg)')
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
Guarde su archivo, ejecute y explique los siguientes comandos.
Type dsplab
Whichdsplab
tt=2:0.05:3;
xx=sin(2*pi*0.789*tt);
plot(tt,xx),grid on %dibujo de una sinusoide
title('grafica de una sinusoide')
xlabel('tiempo(seg)')
type dsplab
which dsplab
E:\mat2\dsplab.m
Añada lineas a cu codigo para que el mismo grafico se muestre una señal coseno de igual
frecuencia a la señal seno.
yy=cos(2*pi*0.789*tt); plot(tt,yy),grid on title('grafica de coseno') xlabel('tiempo(seg)')
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
2.2 el siguiente ejercicio le enseñara como escribir funciones en matlab, aunque estos ejercicios
contienen errores, les enseñara la correcta sintaxis para crear funciones.
Encuentre el error de las siguientes funciones.
Función no corregida.
Función corregida.
Función no corregida.
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO
Función corregida.
2.3 crear una archivo M que sea una secuencia aleatoria uniforme (rand) de amplitud máxima la
unidad, el vector debe de tener 250 puntos. Encontrar:
Aquellos componentes del vector cuyo valor sea mayor que 0.9
Aquellas componentes del vector cuyo valor sea menor o igual a 0.15.
y=rand(250,1);
x=[];
z=[];
for i=1:250,
if y([i:i],1)>0.9
A=y(i,:);
x=[A;x]
end
end
for i=1:250,
if y([i:i],1)>0.9
B=y(i,:);
y=[B;y]
end
end
UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA
PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO