16
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 4 0 3 5 6 7 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:

LABORATORIO DE MATLAB N°1

Embed Size (px)

DESCRIPTION

INICIANDO EN MATLAB

Citation preview

Page 1: LABORATORIO DE MATLAB N°1

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:

Page 2: LABORATORIO DE MATLAB N°1

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:

Page 3: LABORATORIO DE MATLAB N°1

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

Page 4: LABORATORIO DE MATLAB N°1

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

Page 5: LABORATORIO DE MATLAB N°1

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

Page 6: LABORATORIO DE MATLAB N°1

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

Page 7: LABORATORIO DE MATLAB N°1

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.

Page 8: LABORATORIO DE MATLAB N°1

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

Page 9: LABORATORIO DE MATLAB N°1

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:

Page 10: LABORATORIO DE MATLAB N°1

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:

Page 11: LABORATORIO DE MATLAB N°1

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,∏].

Page 12: LABORATORIO DE MATLAB N°1

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)')

Page 13: LABORATORIO DE MATLAB N°1

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)')

Page 14: LABORATORIO DE MATLAB N°1

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.

Page 15: LABORATORIO DE MATLAB N°1

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

Page 16: LABORATORIO DE MATLAB N°1

UNIVERSIDAD NACIONAL DEL ALTIPLANO INGENIERIA ELECTRONICA

PROSESAMIENTO DIGITAL DE SEÑALES CON MATLAB PABEL ADERLY CHACÓN ROSELLO